Project Pulse is a scalable CRUD starter built with SvelteKit, TypeScript, Tailwind CSS, Drizzle ORM, and PostgreSQL.
The codebase uses a feature-first modular monolith:
src/lib/server/db
Database client, schema, and migrations.src/lib/server/features
Feature modules with schema, repository, queries, service, and types files.src/lib/server/shared
Cross-feature server-only helpers such as errors and shared utilities.src/lib/ui
Reusable presentation components and visual tokens.src/routes
Thin route handlers and pages that orchestrate services instead of embedding business logic.This structure is intentionally predictable so both humans and AI tooling can load the codebase quickly.
.env.example to .env.npm install
55432:docker compose up -d postgres
npm run db:generate
npm run db:migrate
npm run db:seed
npm run dev
Or use the helper script:
./scripts/setup-local-db.ps1
npm run db:generate
npm run db:migrate
npm run db:studio
npm run db:seed
npm run check
npm run test
npm run format
Recommended free production database:
Deployment steps:
DATABASE_URLNODE_ENV=productionAPP_ENV=productionImportant runtime note:
pg.The CRUD sample domain is:
This demonstrates a realistic one-to-many relational workflow without overcomplicating the starter.