Library Room Reservation Application A web application built using Ruby on Rails for online reservation of study rooms in a Library.
SuperAdmin A super admin will be seeded when the application is deployed and the credentials are given below.
Username: sadmin@ncsu.edu
Password: ncsu
The super admin is not accessable to other admins. Only the superadmin can edit the superadmin credentials. Please DO NOT EDIT SUPERADMIN CREDENTIALS. This will make it impossible for other reviewers to review the application
Member Functionalities: Members can signup using their email id and password and then search for rooms based on location,size and room number. After finding a room, he/she will be able to view the schedule of the room for a week in one screen. Time slots of two hours are available. The user can book a slot by clicking on it.
Another screen is available in which the user can see all his/her bookings. Member is given an option to edit his/her profile details.
Functionality of sending email invitations for the booking is also given. In the booking confirmation page, the user can enter email IDs and invitations will be send to those email IDs. Entered email IDs seperated by “;”. Email will also be sent to the member who has booked the room.
Admin Functionalities:
Administrators can login and perform administrative functions like creating rooms and other admins. He will be given a view of all the users, rooms and admins and can easily manage them by clicking on appropriate links. He is also given an option of editing his/her profile details. Admin can book room on behalf of members.
Additional functionality has been implemented where the admin can grant/revoke the permission for a user to book multiple rooms at the same day and time. This functionality is available in the manage members page.
HANDLING EDGE CASE SCENARIOS:
-
Deleting a room which has bookings: A message will be displayed saying that the room has bookings and the application will redirect to the manage bookings page where the admin can view bookings and delete them. Once all the bookings are deleted, admin will be able to delete the room.
-
Deleting a member who has bookings: All the bookings for the user will be deleted and then the member will be deleted. Message will be displayed saying that the member has been deleted along with all his/her bookings.
Testing:
Testing has been implemented for all the functionalities of room model and room controller.
Version : Ruby 2.3.1 and Rails 4.2.1 The App has been deployed on Heroku accessible on: library-reservation.herokuapp.com/
In case of issues with login, please contact system administrators:
aanilku@ncsu.edu,
bbansal@ncsu.edu,
rbhatt@ncsu.edu
Thank you for your co-operation.