KU courses

Created at: 2023-06-12 [github]
Language(s) used: Clojure, Svelte/TS, Python
KU courses

See the website here

This is one of the larger projects that I have worked on. It is a website that serves you the courses on the faculty of science at the University of Copenhagen with significantly faster load times than the official website and with better search functionality. There are three components to the project:
- A web scraper that scrapes the official website for courses and stores them in a database, written in Python, I wrote a large chunk of this, with Jákup Lützen doing the rest. - A backend that serves the courses to the frontend, written in Clojure, this part was entirely written by me. It is a REST API that serves the courses in JSON. It has full-text search functionality and a more precise fuzzy search compared to the original, with a speed-up of 5 to 400x depending on the query. In contrast to the original, this also doesn’t include duplicates of the old courses and it is possible to search by coordinator name and exam type. The server is written using Reitit and next.jdbc.

  • A frontend that displays the courses, written in Svelte and TypeScript, the initial draft and design was written by Kristian Dam Pedersen, and I have since then rebuilt the entire frontend to its current more minimalistic and blocky design.

The project was then finally deployed to my personal server using Docker. The project is open source and can be found here.