Tech Stack
For a better understanding of the codebase, let's first go over the tools and libraries that supastarter uses and why we chose them.
Turborepo
TurboRepo is a monorepo tool that helps you manage your project's dependencies and scripts. We chose a monorepo setup to make it easier to manage to structure the different features and enable code sharing between the different packages. It also allows you to easily add further apps (like a mobile app or a different frontend) to the project and reuse the existing codebase.
SvelteKit
SvelteKit is the official fullstack framework for Svelte. We use it for the frontend of supastarter and also utilize it's route handlers to serve the API for the application.
Prisma
Prisma is an ORM (Object-Relational Mapping) tool that helps you access your database in a type-safe way. We use Prisma to define our database schema and to generate the necessary TypeScript types for our application. It also helps us to write queries in a type-safe way and to easily migrate our database schema.
Tailwind CSS
Tailwind CSS is a utility-first CSS framework that helps you build custom designs without writing any CSS. We use it to style the frontend of supastarter and to create a consistent design system.
bits UI
bits UI is a collection of headless UI components that help you build accessible and composable user interfaces in Svelte. These components are heavily inspired by Radix UI
MDsveX
MDsveX A Markdown preprocessor for Svelte. We use it to process the MDX content of the supastarter blog, the documentation and other content pages like the legal pages.