Inspiration
Other than studying in the library, our group has struggled to find available rooms on campus to study in. There are often times that we will arrive on campus, walk around from floor to floor of a building, searching for a good place to study. Sometimes, we will find an empty classroom only to find that a professor is teaching within the hour. We wanted to create a tool that will allow us to see when and where classes are held so that we can more easily find classrooms to study in for a long period of time. This will also benefit others!
What it does
This application scrapes data from UMBC's schedule of classes website, stores the information in a database, and then displays it in a beautifully designed website.
How we built it
We built our project around Django's web framework. First, we used selenium to webscrape UMBC's undergraduate catalog website. We filter the data to store date of the class, start and end times, as well as location (both building and room number) into a text file. We then open the file, read it, and store it in a mySQL database. Then we display the data in a website that was designed with Bootstrap, JS, and CSS.
Challenges we ran into
Our primary challenge was in learning Django, a tool that we are mostly unfamiliar with. Beyond that, we had two other issues. Firstly, UMBC's undergraduate catalog is displayed in a website that requires scrolling if you hope to scrape all of the data. This takes a lot of time and took a long time to debug. Our second issue was importing the data from the database into the HTML file.
Accomplishments that we're proud of
We learned that selenium is able to accept key input, so we scroll down the undergraduate catalog webpage by running a loop that mimics pressing the "page down" key. We solved the database issue by adding key-value pairs to a dictionary that was passed into HTML. We are most proud of the beautiful design of the website!
What we learned
While we still do not feel entirely comfortable with Django, we have a solid foundation to build upon with what we've created!
What's next for Empty Classroom Finder
Because it takes so long to webscrape, we do not have all of the data inputs for every building, and we need to find a way to filter out classrooms in the Shady Grove campus! We also want to make the map element actually display building specific information (this feature does not currently work). We will work on these next steps when we have more sleep!
Log in or sign up for Devpost to join the conversation.