Welcome to PhamBnb! This is a fully functional clone of the popular home-share website, AirBnb, developed by yours truly, Dion Pham. Please visit the live link to this project here.
To run on a local host, clone the repository. In the root of the backend directory, create a .env file that is similar to the example .env file that is already present. In your terminal, run the following commands.
npm install
cd backend/
npx dotenv sequelize db:migrate
npx dotenv sequelize-cli db:seed:all
npm start
Open up another terminal and run the following commands.
cd ../frontend/
npm start
Please note that you must npm start in BOTH the backend and frontend directories - they must be running concurrently. PhamBnb should now launch in your default web browser.
- Users are able to create an account or log in to an existing account.
- After successful signup or login, users are able to create a new listing by clicking the "Become a host" link in the upper right-hand corner. A page of all listings, as well as reviews, are shown on the account management page.
- Each listing has its own spot detail page. This page shows information about the listing including average rating, number of reviews, and pricing informaton. If a user does not own that spot, they are able to leave a review as well as delete the review. The average rating and number of reviews will update dynamically as the review is created/deleted.
Click above to view the back RESTful endpoint documentation for server requests.
Click above to view a visual diagram to the database schema.
Click above for details of the features to be implemented in this clone.
Click above for redux state shape.
- CRUD (Create, Read, Update, Delete) feature for spot bookings.
Frameworks, platforms, and libaries
Database:
HOSTING: