Log In With Existing Account



Log In
Foreword

This web app was initially created to replace Turner Fenton Secondary School's internal library resource booking system, which was severely outdated at the time I took this project upon myself (early 2019). The purpose of this application was to allow teachers to book/view various resource bookings netbook carts, computer labs, amongst other things.

Unfortunately however, bureaucracy from the Peel District School Board has intervened in allowing this project to be implemented in the school library's ecosystem. Still, attempting this project was incredibly educational. I learned to develop web apps backed by Google's Firebase for the backend, but also dealt with soft-eng related aspects such as projected user demands, security, etc.

Despite this project never being seen to fruition, I am extremely pleased with the final product, and would like to share it with the rest of the world. To play around with the web app, you must first log in. Feel free to use the following credentials:

Email: anish.spamemail@gmail.com
Password: testing

Note that I disabled features for creating new accounts, to prevent misuse of this demo/showcase and Firebase's free Blaze plan limitations. Once you are logged in however, I encourage you to play around with all features, in any way you like. Of course, all features/aspects of this website (including the entire website itself!) can be modified/taken down at any time without prior notice. Otherwise, Have fun!

Yours truly,
Anish Mahto
  • Calendar
  • My Bookings
  • Instructions
Instructions/FAQ
Choose Resource
In order to book or view a resource, you must select it. This can be done by selecting the desired resource in the calendar page, then clicking the button Go. The current resource being viewed under calendar is displayed in the Currently Viewing header.
Make Booking
To make a booking, first go to the calendar page and choose the resource you would like to book. Then, switch the month (using Prev and/or Next buttons as necessary) until desired month of booking date is desired. Finally, within the calendar days for that month, click on the desired period for the desired day. If this period is available (not currently booked by any other user) and you currently have booked less than the maximum number of bookings allowed per user, the period will successfully be booked. You can confirm this, by checking if the booking has been update under your bookings list.
Delete Booking
You may only delete your own bookings. To delete one your bookings, navigate to your bookings list by clicking on My Bookings. Then, within this list, locate the booking you would like to delete/cancel. Then, simply click delete.
Booking Limit
The booking limit refers to the maximum number of bookings a user may hold at any given moment. This value is currently set to 15, but may change in the future. Once the limit is reached, until some bookings are deleted new bookings will be unsuccessful. This limit is established in order to prevent misuse, place responsibility on the user to clean up outdated bookings, and prevent the database from reaching Google's Firebase limits for the Blaze (free) plan.

Note that bookings are not automatically deleted. Hence, even if the date of a booking has passed, it will remain in the database, booking list, and will continue to be counted towards the user's maximum booking limit. The user must manually delete outdated bookings, if desired.
View Who Booked On Given Day
If a period is booked for a given day, you may view the email address of the user that has booked this period. This can be done by navigating to the desired year/month/day/period, and click on the booked period (denoted by red and bolded text). The email address of the user who has booked this period will then be displayed in the bottom left for several seconds. This feature was created with the intention that if two or more users would like to book the same period, they can communicate/negotiate with each other
PERMISSION DENIED
Sometimes, when certain actions are taken (whether manual or automatic), you may be notified in the bottom left with a temporary message that states PERMISSION DENIED. This error typically occurs when a security rule on the server is violated (ex. if the user already has reached the maximum limit of bookings, and they attempt to create another booking, front-end code is modified, etc.).

If you have any particular concerns, please talk to the librarian.
Miscellaneous Errors
While the actual database and data transferred to/from the user/database is proteced through security rules on a server, the front end can be viewed/modified through your local browsers inspect element. If you do modify the front-end code, you may get some errors (ex. PERMISSION DENIED). To fix these miscellaneous errors caused by the modification of this front-end code, simply reload the page, as modifications through inspect element are temporary; they do not actually modify source code. Overall, you are advised against modifying code through inspect element.

If you have any particular concerns, please talk to the librarian.
Total Bookings:
Date
Period
Resource
Delete
Get Printer Friendly Version