Inspiration

When I was an incoming GT freshman, I looked at all the courses I was excited to take. But when it came time for registration, I realized almost half of those courses weren’t offered anymore and were only listed online. I tried to use OSCAR to check how often these courses were offered, but it required me to go one by one through each semester and navigate troublesome menus to see the last time the course was offered. It would take 5 minutes per class just to check if it was even a thing anymore. Machine Learning for Trading? Nope, not taught anymore. Robo-intelli planning? Maybe once every two years. It took me so long to get this information that it would’ve been so much easier to have one place that could tell me “hey this course isn’t around anymore” and that’s where our idea came from.

What it does

The website we created can determine when a course was last offered, so we can figure out if it would be reasonable to add certain courses to our four year plans.

How we built it

We did this by obtaining course data for the last ten semesters (last three years) from the JSON of GT Scheduler’s web crawler, and then parsing the data in the JSON to display it in an easy to understand format.

Challenges we ran into

We initially wanted to use the MERN stack, but setup was quite convoluted (create-react-app was bad and next was too much overhead for something so simple) so we decided to go with vanilla javascript in the end. Another challenge was fetching all of the course data JSON. We wanted the semesters to be listed in temporal order, but there was no guarantee of which fetch would finish and be added to the list first. So we created an array where each index corresponds to a semester and then had each fetch place into a specific index.

Accomplishments that we're proud of

We are proud of how we were able to get a voiceflow chat bot onto our site to help students with course planning and getting quick feedback about their plans. We are also proud of learning how to fetch data from the internet and on the frontend side are proud of learning CSS grid quickly.

What we learned

We learned a bit of react before settling on vanilla javascript. We learned how to make fetch requests and do asynchronous programming in vanilla JS. We learned how to make a frontend using vanilla html and CSS especially CSS Grid and Flexbox, before settling on Grid.

What's next for GT ClassHub

We would like to add more functionality like making 4 year plans directly on gt-classhub and having a Large Language Model comment and make suggestions based on a conversation with the user.

We would also like to add more details in the course information it can return, such as professors, class section sizes, and other useful details.

Built With

Share this project:

Updates