vandyclasses
I want to learn about [X], but YES is slow and unhelpful. What should I take?
I got annoyed at how slow YES is, how limited their search results were, and the fact that you couldn't search by course description. So I made this. This project was largely inspired by classes.wtf, a similar and much better project done for Harvard.
How does it work?
The main project is written in Go, using data scraped into an in-memory Redis database. The frontend is mainly written in HTML, CSS, and JavaScript, and deployed on Fly.io.
FAQ
Why did you make this? I was bored and had some time on my hands. YES sucks.
How do you scrape the data? I used the Selenium WebDriver to scrape the data from here. Fun little wormhole of dynamically scraping data.
Why Go? I wanted to learn Go, and it's a really fast systems language while also having low latency.
Why Redis? Per Eric, "it's really fast, it stores data in memory, the API is simple and robust, and it has a best-in-class full-text search module. For this size of dataset, embedding Redis gives you unmatched performance with a fraction of the cost and effort of alternatives".