This project is a comprehensive solution for managing rooms in a hotel, offering a user-friendly interface for both administrators and customers. It empowers users to create, edit, delete, and view room bookings, transforming it into a robust hotel booking system. The project is built using the following technologies:
- HTML, CSS
- JavaScript
- React
- Node.js
- Express.js
- MongoDB
-
User Authentication:
-
Role-Based Access:
- Different roles have different access levels.
- CUSTOMER:
- Can request room bookings.
- Can view all available rooms.
- ADMIN:
- Can manage rooms, bookings, and users.
-
Booking Rooms:
-
Editing Bookings:
- Customers can edit their booking details, including personal information and reservation details.
- The updated price is recalculated upon confirmation.
-
Canceling Bookings:
- Customers can cancel future bookings with refund conditions:
- If the booking start time is more than 48 hours, a complete refund is issued.
- If the booking start time is within 24 to 48 hours, a 50% refund is issued.
- Otherwise, no refund is provided, but customers can still cancel the booking.
- Customers can cancel future bookings with refund conditions:
-
Viewing Bookings:
We've added an exciting new feature to enhance user experience—the Email Confirmation feature. Now, users will receive email confirmations for successful room bookings, providing them with a detailed record of their reservation.
When a user successfully books a room, a confirmation email is automatically sent to the provided email address. The email contains important details such as the reservation dates, room preferences, and any other relevant information.
Clone the repository:
git clone https://github.com/Ans155/HospitalityHub.git
cd HospitalityHub
Install dependencies for the client and server:
cd client
npm install
cd server
npm install
Set up the MongoDB database:
Create a MongoDB database and configure the connection string in server/config/db.js. Start the client and server:
In the client directory, run npm start to start the React app. In the server directory, run npm start to start the Node.js server. Access the app in your browser at http://localhost:3000.
- MongoDB
- React
- Node.js
- Express.js