DEV Community

Yolk-Again
Yolk-Again

Posted on

User Guide and System Manual of UniDorm Management System

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.


Repository link


Top comments (0)