image

PhamBnb - a Phamily friendly clone of Airbnb.

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.

image

Get Started

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.

Navigation

  • Users are able to create an account or log in to an existing account.

image image

  • 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.

image image

  • 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.

image

  • If a user owns that spot, they are able to edit its information by clicking on the edit button. image image

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.

Features to be implemented in the future

  • CRUD (Create, Read, Update, Delete) feature for spot bookings.

Built with:

Frameworks, platforms, and libaries

JavaScript HTML5 CSS3 NodeJS Express.js React Redux

Database:

Postgres

HOSTING:

Heroku

Contact Me: