This project is a clone of the popular Airbnb website, built using the MERN (MongoDB, Express.js, React.js, Node.js) stack. It aims to replicate the core features and functionalities of Airbnb, allowing users to browse, search, and book accommodations.
- User Authentication: Users can sign up, log in, and log out securely. Authentication is handled using JSON Web Tokens (JWT).
- Listings: Users can view available accommodations, including details such as price, location, and amenities.
- Booking: Users can select dates and book accommodations. Booking information is stored securely.
- Admin Panel: Administrators can manage listings through an intuitive admin panel.
-
Clone the repository:
git clone https://github.com/yourusername/airbnb-clone.git
-
Navigate to the project directory:
cd airbnb-clone
-
Install dependencies for both the client and server:
cd client && npm install cd ../server && npm install
-
Set up environment variables:
- Create a
.env
file in theserver
directory. - Define the following variables in the
.env
file:PORT=3001 MONGODB_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret
- Create a
-
Seed the database (optional):
cd server && npm run seed
-
Start the server:
cd server && npm start
-
Start the client:
cd client && npm start
-
Open your browser and navigate to
http://localhost:3000
to access the application.
-
Frontend:
- React.js
- React Router
-
Backend:
- Node.js
- Express.js
- MongoDB
- Mongoose
-
Authentication:
- JSON Web Tokens (JWT)
Contributions are welcome! If you find any bugs or have suggestions for improvements, please open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
Feel free to customize this README according to your project's specifics and add any additional information you find relevant.