Classes.wtf screenshot

Classes.wtf

Author Avatar Theme by Ekzhang
Updated: 19 Mar 2025
307 Stars

A course catalog with extremely fast full-text search

Categories

Overview:

The Classes.wtf project aims to address the issue of slow and irrelevant course search results in online catalogs by providing a high-performance, distributed search engine written in Go. By focusing on speed and quality of results, this project offers users a faster and more useful experience when searching for classes.

Features:

  • Custom, distributed search engine in Go: Designed for speed and quality of results.
  • In-memory Redis database: Supports full-text fuzzy and prefix search on all fields.
  • Static website built with Svelte: Processes search queries immediately after every keystroke.
  • Geographically distributed replicas: Ensures low latency by routing requests to the nearest server.

Installation:

  1. Clone the repository:

    git clone [repository_url]
    
  2. Install dependencies:

    • Backend: Go 1.20 and Docker
    • Frontend: Node.js v18
  3. Download the dataset:

    • Academic terms before Spring 2022 (AY 2022) from Curricle
    • Starting Fall 2022 (AY 2023) from My.Harvard
  4. Customize the data loading script for indexing different courses.

Summary:

Classes.wtf is a project that addresses the inefficiency and irrelevance of online course search catalogs by offering a custom, distributed search engine focused on speed and quality of results. By leveraging technologies like Go for the backend, Redis for in-memory storage, and Svelte for the frontend, the project aims to provide users with a faster and more effective class search experience. The use of geographically distributed replicas ensures low latency by routing requests to the nearest server, further enhancing the user experience.