Skip to content

kth-cdate-courses/kthcdb

Repository files navigation

KTHcdb

By: Hampus Hallkvist and Isak Einberg

KTHcdb is a course database for kth, utilizing kths official api to fetch and search for courses, we run it through our own api where we also provide the service of letting users rate each course. It will then be possible for users get a better understanding of how liked a certain course is.

  • File structure: Descriping the purpose of each file is not ergonomic on our case since we're using a code skeleton of greater size, how we have strucutred the project though is through the /apps folder, separating the api and web part of the application. The web uses @tanstack/react-router, thus the folder strucutres mimics the routes of the application. As for the api, it similarly has a "routes" folder where the different api endpoints are exposed.

3rd party components

  • Recharts for bar chart visualization (can be found on the course details page, showing rating distriution)
  • Shadcn, our component library for the project, involves most user-visible components such as buttons, inputs, forms etc.
  • MagicUI, built on top of shadcn ui. We use Marquee, Particles and Number Ticker.

User reviews

Prototype user test Formative eval user test

Apps and Packages

  • web: a React + Vite app
  • api: an Elysia server
    • Prisma ORM, our object relationship manager for communicating with the database from the api.
    • PostgreSQL the actual database, storing data related to our application such as user reviews and cache.

Utilities

This Turborepo has some additional tools already setup for you: