We wanted a way to aggregate professor data in order to provide students the easiest way to select their professors for their classes. This was a vision that many students shared interest in using if it existed. As such, we decided to create ProfStats in order to create a solution to give students an easy way to find all of this data in one place.
What it does
ProfStats allows you to query for a professor, and ProfStats will take a few moments to collect data from various sources (both our own personal database as well as scraping numerous professor sites), and condenses this information into a visually pleasing infographic for users to interpret.
How we built it
We built ProfStats in Python utilizing various libraries and tools. We used AWS RDS coupled with PostgreSQL in order to construct and host a database to store and update existing professor data. We use both BeautifulSoup4 and Selenium to webscrape professor data, Azure was used for ML interpretation of user-written reviews, and finally, we use Slack to both intake the user query and display the output data.
Challenges we ran into
Many learning curves as our team had a wide range of skillsets, which may not have always fit the task at hand. As such, we spent time learning new libraries and technologies in order to efficiently and effectively accomplish the task at hand. Furthermore, managing branches through Git and collaborating with other team members required moderate coordination and communication in order to ensure the optimal commit branch.
Accomplishments that we're proud of
Through this project, we learned lots of new technologies and expanded outside of our comfort zones. Whether this included picking up new libraries, learning how to collect data, or even soft skill challenges such as collaborating in a group and working under pressure. Overall, we are quite satisfied with the end result and are proud of our time and accomplishments.
What we learned
We learned that hackathons are a great way to get a framework of a project out and a fantastic way to understand and get experience in collaboration. Especially under a 24h time crunch, things got difficult and coordination and strong communication was key. We worked through any flaws or setbacks we may have had in order to accomplish our task.
What's next for ProfStats