The Meeting Room Booking System is a web-based application designed to simplify the process of reserving meeting rooms in an organization. Users can view available rooms, book slots, and manage their reservations effortlessly. The application ensures a smooth, streamlined experience for administrators and employees alike, helping businesses better manage their resources.
-
User Management:
- Role-based access control (Admin and User roles)
- Soft deletion of users
- Admin can manage users and assign roles
-
Room Management:
- Add, update, and delete meeting rooms
- Set room amenities (e.g., projector, whiteboard, video conferencing)
-
Slot Booking:
- Real-time booking of available slots
- Price per slot feature based on room capacity
- Booking history and status updates
-
Advanced Features:
- Dynamic search and filtering of rooms
- Capacity-based pricing model
- Detailed room and booking information
- Error handling with clear error messages and logging
-
Frontend:
- TypeScript
- HTML/CSS (or React if applicable)
-
Backend:
- Node.js
- Express.js
- Mongoose (MongoDB as the database)
-
Other Technologies:
- JSON Web Tokens (JWT) for authentication
- bcrypt for password hashing
- Zod for schema validation
- HTTP-status for consistent status codes
Before setting up the application, ensure you have the following installed:
- Node.js (v14+)
- MongoDB
- Git
- Clone the repository:
git clone https://github.com/your-username/meeting-room-booking-system.git cd meeting-room-booking-system