Inspiration
Our inspiration for this was how inconvenient it was to research about classes, where you'd have to go form tab to tab and figure out the very best teacher was, so we wanted to put that all in one place, and also wanted to give a general gist of what the class was.
What it does
It takes in the department (at the moment it only takes CSCE) and course number, and it will output an ai-generated course description, grade distribution for the class, as well as the ratemyprofessors for the class.
How we built it
We started by creating a basic design using Figma. Then, we coded the backend using NodeJS with Express, Socket.io, and OpenAI and the front end using EJS, CSS with Bootstrap, and JavaScript. The first piece of our project is the AI-generated course description, where we used OpenAI's GPT-3.5-turbo model. The next part was the grade distribution graph that we pulled from anex.us. The final piece of our project was a table containing ratemyprofessors data that was scraped using Python.
Challenges we ran into
Our team was very unfamiliar with some of the front-end development we used, like bootstrap, but we were able to do some research and find documents that aided us with our project. Another challenge we faced was creating the table of the ratemyprofessor data, specifically passing the object from back-end to front-end.
Accomplishments that we're proud of
Being able to implement the data of the grade distribution of the class along with the data of ratemyprofessor was difficult and we ran into a lot of problems doing it, so it felt rewarding to have it work!
What we learned
Some of our team were inexperienced in web development, so we learned how to code front end and back end code. We also learned the process of making a website, and how important it is to have a vision in mind when making a website.
What's next for Aggie Course Directory
Next we want to expand this to other departments so that all aggies can use this and also to mobile so that it can be used conveniently
Log in or sign up for Devpost to join the conversation.