A web-based system for managing discussion room reservations efficiently.
Before running the application, make sure you have:
-
Node.js (Recommended: latest LTS version)
-
MongoDB (Local or MongoDB Atlas cloud database)
npm install bcrypt dotenv ejs express express-session method-override moment mongoose nodemon | Package | Version |
|---|---|
bcrypt |
5.1.1 |
dotenv |
16.4.7 |
ejs |
3.1.10 |
express |
4.21.2 |
express-session |
1.18.1 |
method-override |
3.0.0 |
moment |
2.30.1 |
mongoose |
8.10.1 |
nodemon |
3.1.9 |
Start the server using nodemon:
nodemon app.jsIf nodemon is not recognized, install it globally:
npm install -g nodemonThen run:
nodemon app.jsThe application will be available at: 🔗 http://localhost:3000/
Provides authentication for users and administrators.
Allows users to sign up, log in, and manage their credentials.
Admins have separate login credentials with elevated access to manage the system.
Sample User for Testing: email: test123@gmail.com password: Test!123
Users can browse available rooms based on date and time.
Allows users to book rooms for specified periods.
Users can view, modify, or cancel their reservations.
Displays room availability in real-time.
Users can view and update their personal details.
Tracks reservation history and upcoming bookings.
Displays any warnings or restrictions on reservations if users exceed allowed bookings.
Sample Admin for Testing: email: admin@gmail.com password: Admin!123
Admins can view and manage reservations for all users.
Admins can create or cancel bookings as necessary.
Allows admins to monitor room usage and availability.
Admins can manage user accounts (e.g., activation, deactivation, or role assignment).
Admins have the ability to reset passwords and resolve user issues.
Provides an overview of user activity and account status.
Allows users and admins to see the current (today and future dates) reservation slots.