Inspiration
The inspiration for this project came about from a friends of ours who found a simple inconvenience when having to switch back and forth between websites when scheduling classes
What it does
Our project utilizes web scraping and utilizing rate my professor's api to pull the professors ratings from Rate My Professor
How we built it
We built our application using python libraries (bs4, pandas, numpy) to create various data frames to store professor full names then utilized Rate My Professor's api to grab each professors overall rating, level of difficulty, etc. When the search button on schedule builder is pressed, the extension we created correlates the information collected in out data frames to display all professors ratings according to the data frame.
Challenges we ran into
Some challenges we ran into was the fact that Rate my Professor did not have a very clear or efficient API to use. Because of this, we tried web scraping the actual site line by line which held even more issues to deal with. Eventually we found a API for rate my professor however it used the professors full name as input, however schedule builder does not provide full names. Thus we had to create another data frame to get professors full names from the UC Davis directory and then use those full names to put them into the API and attain professor data. Another was actually developing the extension as we did not have much experience creating one.
Accomplishments that we're proud of
I believe the biggest accomplishment we had was figuring out how to connect professors emails to their ratings. Using a middleman pandas data frame we were able to attain the professors full name, also creating the table of all professor data was another big accomplishment for us. And of course not giving up!
What we learned
We learned a lot about how web-scraping and creating extensions work. As well as the functions and power of data frames and how they can be used to display different information. Lastly, we of course learned the power of perseverance and overcoming the feeling of quitting.
What's next for RMP Extension
In the future, we will look to expand our extension by including perhaps the top comment on rate my professor, as well as decreasing the margin of error for the data, so that our extension always provides information for any professor and the information is always accurate.
Built With
- api
- csv
- html
- javascript
- json
- python
Log in or sign up for Devpost to join the conversation.