SUAC is a web platform for managing student clubs at ESPOL. It is built with SvelteKit, Drizzle ORM, and PostgreSQL, with modern tooling for development, testing, and deployment.
- Frontend: SvelteKit, TailwindCSS
- UI Components: Bits UI, Lucide Svelte
- Backend: Node.js with Drizzle ORM
- Database: PostgreSQL
- Auth: JWT / OAuth / BetterAuth (TBD)
- Testing: Vitest
- Dev Tools: ESLint, Prettier, TypeScript
The main package.json scripts:
# Development
pnpm run dev # Start local dev server (Vite + SvelteKit)
pnpm run build # Build production bundle
pnpm run preview # Preview production build
# Code quality
pnpm run check # Type-check and Svelte-check
pnpm run format # Format code with Prettier
pnpm run lint # Run Prettier check + ESLint
# Tests
pnpm run test # Run all unit tests (Vitest)
pnpm run test:unit # Run unit tests in developmentThis project uses PostgreSQL with Drizzle ORM.
-
Make sure Docker is installed and running.
-
Start the local database:
pnpm db:start
-
Apply schema migrations:
pnpm db:push
-
(Optional) Open Drizzle Studio to inspect the schema:
pnpm db:studio