Giter VIP home page Giter VIP logo

bnba's Introduction

DappBnb Project Documentation

House Rental Marketplace The DappBnb project is a decentralized application built on the Ethereum blockchain. It is a rental marketplace where users can list, book, and review apartments. The project revolves around DappBnb.sol, a Solidity-written Ethereum smart contract. It leverages the OpenZeppelin library to ensure secure and standardized development of the contract.

House Rental Marketplace The core of the contract is defined by three primary structures: ApartmentStruct, BookingStruct, and ReviewStruct, representing an apartment, a booking, and a review, respectively.

Key Features

  • createAppartment: Allows a user to create a new apartment listing.
  • updateAppartment: Allows the apartment owner to update the details of an apartment.
  • deleteAppartment: Allows the apartment owner to delete an apartment listing.
  • getApartments: Allows a user to fetch all available apartments.
  • getApartment: Allows a user to fetch the details of a specific apartment.
  • bookApartment: Allows a user to book an apartment for specific dates.
  • checkInApartment: Allows a tenant to check into an apartment and triggers the payment process.
  • claimFunds: Allows the apartment owner to claim funds after a booking is completed.
  • refundBooking: Allows a tenant to cancel a booking and get a refund.
  • getUnavailableDates: Allows a user to fetch all booked dates for a specific apartment.
  • getBookings: Allows a user to fetch all bookings for a specific apartment.
  • getBooking: Allows a user to fetch the details of a specific booking.
  • addReview: Allows a tenant to add a review for an apartment.
  • getReviews: Allows a user to fetch all reviews for a specific apartment.

Running the Application

Supply the following keys in your .env variable:

NEXT_PUBLIC_RPC_URL=http://127.0.0.1:8545
NEXT_PUBLIC_ALCHEMY_ID=<YOUR_ALCHEMY_PROJECT_ID>
NEXT_PUBLIC_PROJECT_ID=<WALLET_CONNECT_PROJECT_ID>
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=somereallysecretsecret

YOUR_ALCHEMY_PROJECT_ID: Get Key Here WALLET_CONNECT_PROJECT_ID: Get Key Here

Follow these steps to run the application:

  1. Install the package modules by running the command: yarn install
  2. Start the Hardhat server: yarn blockchain
  3. Run the contract deployment script: yarn deploy
  4. Run the contract seeding script: yarn seed
  5. Spin up the Next.js development server: yarn dev

Now, your application should be up and running.

๐Ÿ“š Key Technologies

  • ๐ŸŒ Next.js: A React framework for building server-side rendered and static websites.
  • ๐Ÿ“˜ TypeScript: A statically typed superset of JavaScript.
  • ๐Ÿ“ฆ Hardhat: A development environment for Ethereum smart contracts.
  • ๐ŸŒ EthersJs: A library for interacting with Ethereum and Ethereum-like blockchains.
  • ๐Ÿ“š Redux-Toolkit: A library for managing application state.
  • ๐ŸŽจ Tailwind CSS: A utility-first CSS framework.

Useful links

bnba

bnba

bnba

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.