This project is a hotel booking website developed using the MERN stack (MongoDB, Express.js, React.js, Node.js). It allows users to search for hotels, view details, and make bookings.
- User Authentication: Register and login functionalities for users.
- Hotel Search: Search for hotels based on location, date, and other filters.
- Booking Management: View booking history and manage current bookings.
- Admin Panel: Admin dashboard to manage hotels, bookings, and users.
- Image Uploads: Integration with Cloudinary for uploading and managing hotel images.
- Responsive Design: Mobile-friendly interface for seamless user experience.
- Frontend: React.js, HTML/CSS, Bootstrap (or any other UI framework)
- Backend: Node.js, Express.js
- Database: MongoDB
- Image Uploads: Cloudinary
- Testing: Playwright (for end-to-end testing)
-
Clone the repository:
git clone https://github.com/shitu13/book-my-hotel.git cd book-my-hotel
-
Install dependencies:
cd frontend npm install cd ../backend npm install
-
Set up environment variables:
- Create a .env file in the backend directory.
- Add MongoDB URI, JWT secret, Cloudinary credentials (cloud name, API key, API secret), and any other necessary variables.
-
Start the backend server:
cd backend npm run dev
-
Start the frontend development server:
cd frontend npm run dev
- End-to-end tests are implemented using Playwright.
- Run tests using the following command:
cd e2e-tests npx playwright test
Contributions are welcome. Please fork the repository and create a pull request for any enhancements or fixes.
This project is licensed under the MIT License.