Building Reservation System
Competitions ·During Summer 2013, Faculty of Engineering Alexandria University announced a competition to make an online room reservation system with automated filling of rooms based on available courses along with their capacity and required equipment in the room, I won the first prize of this contest.
In that time, I wanted to take my web development full stack to the next level, so I wanted to compete solo and to use state of the art technologies at that time to get the site up and running with good user experience.
This project was under the supervision of Prof Essam Sourour and Prof Marwan Torki.
Reservation System Features
- Multiple User access type
- Admin: can update reservation schedule for any other user and can add users with their required role, also admin can approve requested reservations from normal users and can edit/add building rooms
- Normal user: can edit his own reservation, view other reservations and can add bulk reservations from an excel file
-
Overview: includes a time table that can be filtered on-site based on the building, floor or room name
-
Search: can search for a room with specific features (room capacity date and equipment) and for a specific schedule per week, reserve link will fill reservation information for you based on your query
-
Add Reservation: to add a reservation for a specific room and choosing the course schedule for that reserved room
-
Add user: to add a user
-
Add building: to add a building
-
Add room: to add a room
- Import Excel: used to import all previously available reservations from an excel sheet template used for previous reservations to fill the system with building -rooms and previous reservations
Technical Aspects
- used bootstrap framework for a responsive view of the web app
- AngularJS for the front-end to make an MVC app with single page loading (at that time I was using Angular 1)
- Php backend with caching mechanism
- used Grunt to compile and optimize CSS/JS files.
- used Alexandria University’s SMTP service to send confirmation emails to users