Full-Stack Web
2025 · SOFTWARE ENGINEERING COURSE PROJECT
PROJECT / 02
RESERVATION SYSTEM · FULL-STACK WEB
A full-stack dormitory laundry system for machine availability, rule-driven reservations and administrator workflows.
Constraint-driven reservations · focused Jest tests
Full-Stack Web
2025 · SOFTWARE ENGINEERING COURSE PROJECT
Educational full-stack reservation system
Case study / 2025
The system was developed for shared washing and drying machines in university dormitories. Students can view machines assigned to their own dormitory block and reserve available time slots, while administrators manage machine availability and basic laundry operations.
Reservations use fixed one-hour slots between 09:00 and 22:00. The backend enforces separate daily quotas of two washing and two drying reservations and rejects past dates, past time slots, occupied slots, machines under maintenance and reservations outside the student's dormitory block. Reservations that have not started can also be cancelled.
The application uses a React frontend with an Express backend and PostgreSQL persistence. API authentication is based on JWT tokens, passwords are hashed with bcrypt, and administrator operations are protected with role-aware middleware. Backend responsibilities are separated across routes, controllers, services and database access.
Administrators can add or remove machines, switch machines between active and maintenance states, review a basic washing-versus-drying reservation count chart and manage fault reports. Focused Jest tests exercise reservation-service business rules with a mocked database layer.
CASE EVIDENCE

STUDENT WORKFLOW
Students can review washing and drying machines assigned to their dormitory block before choosing an available reservation slot.

RESERVATION FLOW
The reservation dialog presents available one-hour time slots and confirms a successful machine booking.

ADMIN OPERATIONS
The administrator view combines machine inventory and operational-state controls with a basic washing-versus-drying reservation count.

RESERVATION RULES
The reservation workflow blocks an additional washing-machine booking when the verified daily washing quota has been reached.