Inspiration
Time is precious. Practice time is precious. The less time music students use on trying to book practice rooms for practice, the more time they have to hone their craft and create art.
The practice room scheduler that 100+ UMass music students have used on a daily basis for the past 3 years is functional but lacking functionality. The current scheduler can only filter by room. Basic features such as filtering by times, and being able to view the available times for multiple rooms at once do not exist.
Link to practice room booker currently used by the UMass Music Department: https://outlook.office365.com/book/UMassDepartmentofMusicandDance@umass.onmicrosoft.com/
What it does
ENTER PracticeBooker - A new and improved practice room scheduler intended for the UMass Music Department.
For each day, the user can filter by both time and room and book directly from there; meanwhile, the existing software can only filter by room. In addition, our practice room booker can also display the entire schedule for a day for a user at once.
In short, music students can see what is available at the blink of an eye, and can conveniently filter by both time and practice room to book their practice room within seconds. Using this web-app will save music students a lot of time over the course of a semester.
How we built it
The time/room data for each day is an array of arrays where each time slot is its own array of booleans marking whether a room is booked or not. The data for this is stored persistently using PouchDB. The architecture for our project follows the SPA framework where HTML/Javascript is used for both the frontend and backend in the same file, with all logic being handled on client side. We used CSS for styling.
Challenges we ran into
For all of us, this was the first full-stack application that we made ourselves. We had to learn how to use PouchDB for persistent storage for our data.
Accomplishments that we're proud of
We are delighted that our alpha version of PracticeBooker has the additional functionality we wanted to build, as you can use the filters, view the schedule and make bookings that persist in storage and are reflected in the UI. In addition, we are quite happy that we were able to implement the filtering rooms by time functionality, which surprisingly does not exist on the currently used software in the music department.
Also, we just had a blast working together and building something that works!
What we learned
We learned how to make (for most of us) our first full-stack application with persistent data storage. We also learned how to code a room/time calendar from scratch and make sure changes to the database are reflected in the UI and vice versa.
What's next for PracticeBooker
We want to bring this to a beta release for the music department this semester!
First we want to integrate specific user functionality. After signing into our service using UMass Email Authentication, a student could book their practice and their bookings would be linked to their own UMass email name and saved in persistent storage as such. From here we could add very useful features such as: viewing past bookings, filtering by most used bookings, creating a “favorites” list of rooms and rooms/times and filtering by that. All these features would greatly increase convenience for our music students.
Second, for our beta release, we will scale our web-app for both users and for practice times. In terms of the database, this means we will want to use PouchDB for cloud storage instead of local storage. For the UI and the database, we have to create functionality for booking on any day for a whole semester. In addition, we will include all the rooms and times options that are available on the existing website.
Stay tuned! Thank you HACK(H)ER413 for this opportunity!
Built With
- javascript
- pouchdb
Log in or sign up for Devpost to join the conversation.