This project is a web application inspired by Airbnb, aimed at providing a platform for users to rent and book accommodations worldwide. It is built using modern web technologies and follows industry best practices.
- User registration and authentication: Users can create an account, log in, and manage their profile information.
- Search and filter accommodations: Users can search for accommodations based on location, dates, and preferences. They can also apply filters to narrow down their search results.
- Booking and payment processing: Users can book accommodations and make payments securely through the platform.
- User reviews and ratings: Users can leave reviews and ratings for accommodations they have stayed in.
- Host management and accommodation listings: Hosts can manage their listings, including adding new accommodations, updating availability, and managing bookings.
- Messaging system: The platform provides a messaging system for communication between hosts and guests.
/register: POST request to create a new user account./login: POST request to log in to an existing user account./accommodations: GET request to retrieve a list of accommodations based on search criteria./accommodations/:id: GET request to retrieve details of a specific accommodation./bookings: POST request to create a new booking./bookings/:id: GET request to retrieve details of a specific booking./reviews: POST request to leave a review for an accommodation./users/:id: GET request to retrieve details of a specific user./users/:id/bookings: GET request to retrieve a list of bookings made by a specific user./users/:id/accommodations: GET request to retrieve a list of accommodations listed by a specific host.
- Clone the repository:
git clone https://github.com/your-username/airbnb.git - Navigate to the project directory:
cd airbnb - Install dependencies:
npm install - Set up the database:
npm run setup-db - Start the development server:
npm run dev
- Node.js
- Express.js
- MongoDB
- React
- Redux
- CSS Modules
- Stripe API
Contributions are welcome! If you would like to contribute to this project, please follow these steps:
- Fork the repository
- Create a new branch:
git checkout -b feature/your-feature - Make your changes and commit them:
git commit -m "Add your feature" - Push to the branch:
git push origin feature/your-feature - Submit a pull request
This project is licensed under the MIT License. See the LICENSE file for more information.
For any inquiries or support, please contact the project maintainer at [email protected]