Demonstration repository for a full-stack classroom reservation management system built with React, TypeScript, Express.js and MySQL.
Note: This repository showcases the project through documentation and a demonstration video. The complete source code is maintained in a private repository.
The Unified Room Manager System is a full-stack web application designed to simplify the management of classrooms and academic reservations in educational institutions. The application provides administrators with an intuitive interface to manage classrooms, schedule reservations, and prevent scheduling conflicts through backend validation. It was developed following a modular client-server architecture to provide a secure and maintainable solution for classroom reservation management. The application allows administrators to:
- Register and manage classrooms.
- Register and manage reservations.
- Prevent duplicate reservations for the same room and schedule.
Source code is private. This repository showcases the project, technologies, and functionality. A demonstration video is available below.
- Create new classroom.
- Update classroom information.
- Delete classrooms.
- View all registered classrooms.
- Name, room type, capacity and availability status.
- Register reservation.
- Update reservation information.
- Delete reservations.
- Associate reservations with existing classrooms.
- Prevent schedule conflicts through backend validation.
- Prevent overlapping reservations for the same room and schedule.
- Display validation messages for scheduling conflicts
+-----------------------+
| React + TypeScript |
| (Frontend) |
+-----------+-----------+
|
| HTTP Requests
βΌ
+-----------------------+
| Express REST API |
| (Backend) |
+-----------+-----------+
|
βΌ
+-----------------------+
| MySQL |
| Database |
+-----------------------+
The frontend communicates exclusively with the REST API. Business logic, validations and database operations are handled by the backend.
- React
- TypeScript
- Vite
- Bootstrap 5
- Fetch API
- Node.js
- Express.js
- MySQL
- Git
- GitHub
- Visual Studio Code
- Postman
The application currently implements the following rules:
- A classroom cannot be reserved for overlapping schedules (same time and date).
- CRUD operations validate resource existence.
- RESTful responses use appropriate HTTP status codes such as:
- 200 OK
- 201 Created
- 404 Not Found
- 409 Conflict
- 500 Internal Server Error
This project is currently under active development.
πΊ Demo Video:
https://youtu.be/wt78C31ubZI
- Classroom (Rooms) CRUD.
- Reservation CRUD.
- Reservation conflict validation.
- Responsive React frontend.
- RESTful API integration.
The complete source code is maintained in a private GitHub repository. If you are a recruiter or potential collaborator interested in reviewing the implementation, feel free to contact me.