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.
- 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.
Prototype user test Formative eval user test
web
: a React + Vite appapi
: 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.
This Turborepo has some additional tools already setup for you:
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting