Inspiration

As students, we have always been frustrated by the limited empty spaces available on campus, to either study or unwind. The libraries are always present, of course, but their popularity is usually reason for frustration over productivity (I’m looking at you, reg wifi during finals week). Seeing our peers struggle to find a place to work inspired us to create a solution that could make their lives easier. The idea for RoomRovers came to us during a particularly busy week when we found ourselves constantly on the move, searching for an empty classroom or quiet corner to study in.

We realized that there had to be a better way to find available empty spaces on campus. By leveraging data on classroom availability and user preferences, we knew we could create a tool that would help students maximize their productivity and minimize their stress.

What it does

RoomRovers is a web application that helps UChicago students find available study spaces on campus. It accomplishes this by scraping data from UChicago's courses website using Selenium, compiling a list of all classes in the given quarter, and then allowing users to input their study preferences via a minimalist website. The website connects to a database using PHP requests to provide personalized results to users, allowing them to easily find the best study spot available.

How we built it

Our project had two main components. First, we needed to scrape the data from UChicago's courses website, which proved to be a challenge because the site is entirely dynamic. To accomplish this, we utilized Selenium, a web automation tool that allowed us to programmatically interact with the site. We had to iterate through every department to compile a list of over 3 thousand class entries, which required careful coding and management of the scraping process. It was a time-consuming and technically complex task, but we were able to successfully gather all of the necessary data. The second part of our project was creating the user interface. We designed a minimalist website using HTML, CSS, and JavaScript that would allow users to easily input their study preferences and receive personalized results. To connect the website with the database containing the scraped data, we used PHP requests. This required careful attention to detail and a deep understanding of web development principles. Overall, our project required a high level of technical skill, attention to detail, and problem-solving abilities. We are proud of the finished product and the impact it can have on the UChicago community.

Challenges we ran into

Because we decided to challenge ourselves with this being our first foray into web development, we ran into challenges in setting up the connection between the sql database, php files, and JavaScript. However, it was lots of fun to go searching through tutorials together to figure out what went wrong, and learn new aspects of JavaScript in the process (and PHP, which we learned less than 24 hours ago!)

Accomplishments that we're proud of

We're very proud of the webscraping of the UChicago website, the backend, and frontend of our website, especially considering this was most of our team's first time in these areas of computer science. Overall, we were happy with how the CSS elements in the website ended up working, and our ability to connect the mysql server to the php and the file.

What we learned

As a team, we had to learn a lot of new skills and technologies to build RoomRovers. We had no previous experience with web scraping, so we had to quickly learn how to use Selenium to extract data from UChicago's courses website. This required us to become proficient in Python and learn how to handle dynamic web pages. Additionally, we had to learn how to design a website using HTML, CSS, and JavaScript, as well as how to connect the website to a database using PHP requests. These were all new skills to us, but we were able to quickly come up to speed and produce a functional product in just one day. Overall, we are proud of what we accomplished and excited about the new skills we gained through this project.

What's next for RoomRover

We aim to expand this service to encompass all of the available rooms and areas of UChicago, even the unofficial areas that we know that many students like to hang out in. Also, we aim to expand this service to other universities that may not have a readily available, location-based, room availability resources for students.

Share this project:

Updates