Hotel Reservation System that lets customers book rooms, manage their reservations, and check room availability based on date ranges.
Core Features:
Customer Management (Signup, Login, Update, Delete)
Room Management (Add, Update, Delete rooms with types and prices)
Reservation System with real-time availability checks
Prevents double-booking by checking overlapping dates (checkInDate & checkOutDate)
️ Tech Stack:
Node.js + Express.js for RESTful APIs
MongoDB for flexible and scalable data storage
bcrypt for secure password encryption
️ MongoDB Collections:
rooms: type (single/double/suite), price, status (available/booked)
customers: name, email, phone, password
reservations: customerId, roomId, checkInDate, checkOutDate, status
When a reservation is made, the system:
Checks if the room is available for the given date range
Marks the room as booked if it is
Stores the reservation with a confirmed status