Many Aggies including ourselves have encountered the frustration of registering for classes. Unsure of how to organize class schedules, pondering between preferred class times and professors and feeling stressed out about all the decisions to make. Our Aggie Assist app is the solutions to all those problems.
What it does
Pulls data from Howdy, Aggie scheduler, ratemyprofessor and Texas A&M University registrar to come up with the optimized class schedules based on user preferences.
How we built it
It is built using Python, with the integration of a series of other APIs and libraries. We used Selenium to perform automatic actions on the browser to pull class information, beautifulsoup4 to parse html data from Howdy, Aggie Scheduler and ratemyprofessor. Pandas and numpy were used to parse GPA distributions of the classes and professors. And the result was integrated onto Google calendar using Google calendar API.
Challenges we ran into
Some challenges were encountered, which included: trouble navigating through the web pages automatically when a pop-up window appeared, since it was another layer of web information. Trouble with the machine learning algorithm in deciding how to select and organize the classes based on user preferences.
Accomplishments that we're proud of
Successfully automated the process of scraping all the data needed for the class arrangement process. Machine learning to form the optimized schedule. Successfully gave the user various schedule possibilities that match their preference.
What we learned
We learned how to do basic UI development with the kivy library in Python. We also strengthened and optimized our website-scraping and html parsing strategies. Furthermore, we optimized our processes by running Python scripts in parallel to achieve a common goal.
What's next for Aggie Assist
Developing an efficient Chrome extension and automatically registering users in Howdy during their assigned registration ticket times.