UniDorm Management System
User Guide
1. System Overview
UniDorm Management System is a web-based dormitory booking and management platform that allows students to browse rooms, send booking requests, and track booking status. Admins can manage rooms, review requests, and approve or reject bookings.
The system supports two roles:
- Student
- Admin
2. Account Management
2.1 Register
To create an account, the user opens the Register page and selects either Student or Admin.
For Student registration, the user provides:
- Full name
- Email address
- Gender
- Student ID
- Password
- Confirm password
For Admin registration, the user provides:
- Full name
- Email address
- Password
- Confirm password
The system automatically generates the Admin ID after registration.
The student ID follows the project rule set, and the password must meet the required security format.
2.2 Login
To sign in, the user opens the Login page and enters:
- Student ID for student accounts, or
- Admin ID for admin accounts
- Password
After login, the system redirects the user to the correct page based on the role.
2.3 Logout
Users can log out using the Logout button.
After logout, the session is cleared and the user returns to the home or login page.
3. Student Guide
3.1 Browse Rooms
After logging in as a student, the user enters the Rooms page.
The page separates rooms into:
- Available Rooms
- Occupied Rooms
Rooms are also filtered by gender, so students only see rooms that match their gender.
3.2 Book a Room
A student can click Book Now on an available room to send a booking request.
Important rules:
- One student can book only one room at a time.
- If a student already has an approved room, they cannot book another one.
- Pending requests must wait for admin action.
3.3 My Bookings
The My Bookings section shows all booking requests made by the student.
Each booking displays its status:
- Pending
- Approved
- Rejected
Approved or rejected bookings can be hidden using the red cross button.
3.4 Room Status
The room cards show status labels such as:
- Available
- Reserved
- Occupied
- Your Room
For the student’s own approved booking, the room is displayed as Your Room.
4. Admin Guide
4.1 Admin Dashboard
After logging in as an admin, the user is redirected to the Admin Dashboard.
This page is used to manage rooms and booking requests.
4.2 Create a Room
The admin can add a room by filling in:
- Room number
- Gender
- Room type
- Furniture type
- Price
The room number follows the project rule format, such as a letter plus numbers, for example A01 or A101, depending on the current rule in your setup.
4.3 Edit or Remove Rooms
The admin can edit or delete a room only when it is still available.
If a room has already been approved, it becomes occupied and cannot be edited or removed.
4.4 Review Booking Requests
The admin can see all booking requests from students.
For each request, the admin can:
- Approve
- Reject
- Delete or hide the request with the red cross button
Approved and rejected requests can be removed from the view so they do not reappear after refresh or login.
System Manual
1. System Overview
UniDorm Management System is a dormitory booking and management platform built for role-based access. Students browse and book rooms, while admins manage room records and booking requests.
The project is organized into a backend, frontend, and database structure.
2. User Roles and Access Control
Student
Students can:
- Register and log in
- View gender-matched rooms
- Make one booking at a time
- Track booking status
- Hide completed requests from their own list
Admin
Admins can:
- Register and log in
- Receive an auto-generated admin ID
- Add, edit, and remove rooms
- Review booking requests
- Approve, reject, hide, or delete requests
- Prevent modification of occupied rooms
3. Functional Specifications
3.1 User Account Management
The system supports:
- Student registration
- Admin registration
- Login authentication
- Role-based redirection
- Logout and session clearing
3.2 Room Management
Admins can:
- Create new room records
- Update room information
- Delete rooms before they are occupied
- Assign gender to rooms
- Set room type, furniture, and price
3.3 Room Browsing
Students can:
- Browse room lists
- See available and occupied rooms separately
- View room details such as gender, type, furniture, and price
- See their own approved room marked clearly
3.4 Booking Management
Students can:
- Send a booking request
- View their booking history
- Hide approved or rejected bookings
Admins can:
- See all booking requests
- Approve or reject requests
- Delete or hide requests
- Manage room occupancy status
3.5 Status Display
The system uses clear status labels:
- Available
- Reserved
- Occupied
- Your Room
- Pending
- Approved
- Rejected
4. System Architecture Overview
The system follows a client-server structure:
- Frontend: Next.js with React and TypeScript
- Backend: NestJS
- Database: PostgreSQL
- ORM: Prisma
- Styling: Tailwind CSS
The backend is structured into modules for authentication, room management, booking management, and Prisma integration.
The frontend is structured as a Next.js application with an app directory and public assets folder.
5. API and Technology Stack
Frontend
- Next.js
- React
- TypeScript
- Tailwind CSS
Backend
- NestJS
- Prisma
- PostgreSQL
- REST API
Development Tools
- GitHub
- npm
- TypeScript
6. System Requirements and Development Stack
6.1 Hardware Specifications
6.1.1 Server-Side Requirements
- Processor: Intel Core i5 or better
- RAM: 8 GB minimum
- Storage: SSD recommended
- Operating System: Windows, Linux, or macOS
- Internet connection: Stable connection required
6.1.2 Client-Side Requirements
- Processor: Any modern processor
- RAM: 4 GB minimum
- Browser: Latest Chrome, Edge, or Firefox
- Supported devices: Desktop, laptop, tablet, mobile
6.2 Software Development Specifications
- Frontend: Next.js + TypeScript
- Backend: NestJS
- Database: PostgreSQL
- ORM: Prisma
- Styling: Tailwind CSS
7. Security Considerations
The system includes:
- Role-based page protection
- Password validation
- Auto-generated admin IDs
- Session-based login checks
- Data validation for room and booking actions
- Occupied-room protection so active rooms cannot be edited or removed
8. Maintenance and Future Scalability
The system can be extended with:
- Search and filtering improvements
- Booking notifications
- Messaging between users and admins
- Analytics dashboard
- Mobile-friendly enhancements
- Additional reporting features
9. Conclusion
UniDorm Management System provides a structured way to manage dorm bookings, room allocation, and admin review workflows. The student side focuses on browsing and booking, while the admin side focuses on room control and request management.
Top comments (0)