Inspiration
Anybody who has used Spire knows the annoyances and limitations with it. Navigating the website is slow, and adding classes that don't conflict with each other is even more of a pain. So, we wanted to fix this by creating a webapp that would gather classes from the user, and then organize it into a proper schedule.
What it does
It parses user input from the webapp launched on a local server, and then checks spire and ratemyteachers to grab info. We store the info as a list of class objects, however we did not implement the actual schedule building algorithm due to time constraints.
How we built it
We used python with the selenium API to gather info from spire and ratemyteachers. For the webapp, we used html and python to link it to the back end.
Challenges we ran into
One massive problem we ran into was inconsistent testing. For some reason, when we ran our tests, it would get stuck on an infinite loop (perhaps waiting for input from clicking a button). However, other times when we ran our tests, it works fine and the data is parsed. Also, our idea of the proper algorithm to organize the schedule was rather complex as it involved A* search, so we could not implement this feature.
Accomplishments that we're proud of
We were able to use the selenium library to parse data at a fairly fast speed. Even though we are not fully pleased with our results, we are still proud to be able to grab data from multiple websites. Also, we are proud of our webapp for its simplistic yet effective design.
What we learned
We learned that the selenium library can have problems at any situation due to load times and specific IDs, Xpaths, and CSS selectors. Also, we learned that debugging with selenium was quite a hassle due to it staling and not responding from various bugs.
What's next for UMass Spire Schedule Builder
We hope to finish implementing our original purpose for the schedule builder, and to hook it up with AWS.
Log in or sign up for Devpost to join the conversation.