We know first hand the struggle of finding a good place to study and do work.Your roommates are noisy so you have to find a public study space, but where do you go? More often then not, the place you choose is full, and you have to waste more time finding a new spot. We decided to fix that by giving you a way to visualize the empty study rooms around you.
What it does
Using network data from Princeton's Office of Information Technology, it will check the number of devices connected to a particular room's access point in order to determine if the room is in use or not. This information is displayed in an intuitive map view, so you can pick a study room that is convenient for you, either by location or occupancy.
How I built it
We used python scripts to populate an SQL database with the information pushed from OIT servers. Then, we used Django as our web framework. Using the information in the database as well as geo coordinates of the buildings on campus, I used HTML to create a map view that includes buttons that can toggle the information pane, which tells you about the occupancy of the rooms in that building. I used the Leaflet library to implement the interactivity of the map and Mapbox for imagery.
Challenges I ran into
Often times, the UI would break even without us doing anything, so it was really frustrating to try and set it up. Also, it is almost impossible to debug HTML except by doing it by inspection, so it was a big bottleneck in productivity.
Accomplishments that I'm proud of
I am proud of the fact that I was able to get the toggle buttons with custom hover text to work, and of the entire map interface in general.
What I learned
I became very familiar with the leaflet library and HTML/CSS/JS in general. Also, I became proficient at using Django as a web framework between HTML and SQL.
What's next for get a room
We would like to have the location feature not only show you what is near you by taking you to your current location, but also suggest rooms based on the nearest open room to you. Additionally, we would like to make the site user specific, such that a user can log in and have preferences with which we can offer suggestions for study spaces.