Skip to content

A Full Stack Airbnb Clone created with React, Redux, AWS, MongoDB, Node.js, Express.js, and TailwindCSS.

License

Notifications You must be signed in to change notification settings

kelbwah/Airbnb-Clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Full Stack Airbnb Clone

made by kelbwah


Tech stack: React, Redux, AWS, MongoDB, Node.js, Express.js, and TailwindCSS

Deployed with Vercel: Live Deployment on Vercel


This is a full stack Airbnb clone that mimics the front end UI design of the current Airbnb website. This implements the repsonsive design of their website with my own little twist! This lets users save their own state and stay logged in even after closing the tab, users can Airbnb their own home and filter out through different listings. It also uses jsonwebtoken and bcrypt for basic user authentication and password encryption and decryption. Using AWS a user is actually able to upload their Airbnb listing photos and their own profile pictures as well.


Screenshot 2023-10-24 at 5 31 29 PM

How to run this on your own local machine


  1. Clone this repo into your own computer using "git clone https://github.com/kelbwah/Airbnb-Clone.git"
  2. Change directory (cd) into the client folder and run "npm i" then do "cd .." to go back to the root directory
  3. Change directory (cd) into the api folder and run "npm i"
  4. You will need to create your own .env file to be able to let API requests work and to add in photo upload functionality with AWS, so first make sure that you have created your own free AWS File Storage Bucket and save the ACCESS_KEY, SECRET_ACCESS_KEY, and the BUCKET_NAME.
  5. You will also need to create your own test MongoDB cluster so make a MongoDB cluster and make sure to keep note of your password and get the connection string. Once you have the connection string, we will use that inside the .env file as well.
  6. Also create a random secret key with a mix of numbers, special characters, and letters as a jsonwebtoken secret which will be set as JWT_SECRET in index.js
  7. Now, create a .env file in the api folder and setup the environment variables like this:
  8. Screenshot 2023-10-24 at 5 23 25 PM
  9. Change the cors origin to "http://localhost:3001" in the index.js file
  10. In App.jsx which can be found in the 'client/src' folder, change the axios.defaults.baseURL to "http://localhost:3001/api"

Happy coding and if you want to make any changes, make any pull requests and create your own branch so I can overlook the changes before deploying them to production!

About

A Full Stack Airbnb Clone created with React, Redux, AWS, MongoDB, Node.js, Express.js, and TailwindCSS.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published