Inspiration
Have you ever looked up the professors for a course on ratemyprofessors.com, just to find out that a professors has little to no reviews? Then you are forced to make a difficult decision, do you choose the professor with a 3 star rating and 95 reviews, or the professor with a 5 star rating and 1 review. This was the inspiration for the Professor Planner!
What it does
The Professor Planner uses a front-end that sends a request to a back-end API, which uses the PeterPortal API to send the front-end a list of all the ICS classes. The front-end then displays all of the ICS classes in a drop-down menu and the user selects one of the classes, sending another request to the back-end. The back-end then traverses the database to find the professors of the selected class and get their average GPAs for the selected course. The back-end then sorts the professors by their average GPA from highest to lowest and sends the JSON to the front-end. The front-end then takes this data and displays it for the user to see.
How we built it
We built the front-end using HTML to structure it, CSS to refine the application's look, and Javascript to build the functionality. We also implemented the React framework to modularize the code and improve efficiency. The back-end utilized Python and Flask to build a back-end API and access the data. We also stored our project on GitHub to implement agile processing.
Challenges we ran into
It was extremely difficult to send a request from the front-end to the back-end. It was also challenging to learn all of the different languages and frameworks completely from scratch.
Accomplishments that we're proud of
We are proud of everything that we learned, especially with no prior experience. We also built a functioning project, regardless of the communicating between the front-end and the back-end.
What we learned
We learned how to use GitHub to pull, push, and commit files. We also learned Javascript, HTML, and CSS, as well as the React and Flask frameworks.
What's next for Professor Planner
Professor Planner could be expanded by including more classes, not just ICS classes. We could also choose to evaluate professors based on other metrics besides average GPA, due to the modularized code.
Log in or sign up for Devpost to join the conversation.