This is a clone of the Airbnb web application built using MERN stack. It is a full-stack web application that allows users to book places in various locations. This application supports user registration, login and authentication. It also features my places for adding and managing places.
To install and run the application, please follow these steps:
- Clone the repository to your local machine.
- Navigate to the project root folder in the terminal
- Install dependencies using the command
npm install
for both server and client. - You can either work with MongoDB atlas or use your locally installed MongoDB
- Create a .env file in your server folder and add your variables.
The application has the following features:
- User authentication and authorization
- Search for places by location/title using text/voice
- Dark mode
- Intelligent Chatbot
- Route navigation
- View places details, amenities, and pricing description
- Reserve a place for a specific date
- Add a place as a host accommodation
- Choose precise address on a map as a host accommodation
- Review and rate booked places
- Display weather forecast according to the location of the place
- Virtual payment processing using Stripe
- Automatic email confirmation after booking a place
This project uses the following dependencies:
- MongoDB - NoSQL database used to store application data.
- Express - Node.js framework used to build the server-side of the application.
- React - JavaScript library used to build the client-side of the application.
- Node.js - JavaScript runtime used to execute server-side code.
- Tailwind - CSS framework used to style the application.
- Mongoose - Object Data Modeling (ODM) library used to interface with MongoDB.
- React Router: Declarative routing library for React applications.
- Axios - Promise based HTTP client for making API requests from the client-side.
- OpenWeatherMap API - API used to get weather forecast data.
- OpenCage Geocoder API - API used to get location data.
- OpenAI API - API used to get chatbot response.
- EmailJS - API used to send emails.
- Stripe - API used to process payments.
This app is deployed on: https://air-bnb-clone-site.netlify.app/
Give a ⭐️ if this project helped you!