Local Setup
Local Setup
Section titled “Local Setup”Prerequisites
Section titled “Prerequisites”| Tool | Version |
|---|---|
| Node.js | >= 22 |
| pnpm | 9 (corepack enable && corepack prepare pnpm@9 --activate) |
| Docker | for local PostgreSQL + Redis |
First-time setup
Section titled “First-time setup”# 1. Install dependencies (workspace: apps/api, apps/web, packages/shared)pnpm install
# 2. Start local infrastructure (PostgreSQL on 5433, Redis on 6380)docker compose up -d
# 3. Configure environmentcp .env.example .env# Fill in required values — see "Environment variables" below.
# 4. Generate the Prisma client, run migrations, seed demo datapnpm db:generatepnpm db:migratepnpm db:seed
# 5. Start API + Web in dev modepnpm dev- API:
http://localhost:3001(global prefixapi→http://localhost:3001/api/...) - Web:
http://localhost:3000
Environment variables
Section titled “Environment variables”.env.example documents every variable. The most important ones:
| Variable | Purpose |
|---|---|
DATABASE_URL |
PostgreSQL connection string (dev: postgresql://…@localhost:5433/…) |
REDIS_URL |
Redis connection string |
JWT_ACCESS_SECRET / JWT_REFRESH_SECRET |
Token signing secrets |
MISTRAL_API_KEY |
Mistral Vision API key (AI features; app runs without it but AI endpoints report unavailable) |
MISTRAL_MODEL |
Vision model override (default: mistral-medium-latest) |
Useful commands
Section titled “Useful commands”pnpm dev # API + Web in parallelpnpm dev:api # API onlypnpm dev:web # Web onlypnpm db:studio # Prisma Studiopnpm db:seed # Re-seed demo dataMulti-machine development
Section titled “Multi-machine development”The project is developed on several machines. A local Git server acts as
the primary remote (origin); GitHub is a downstream mirror used for CI/CD.
Always fetch from origin before starting work and push to origin when
done — see Git & CI Workflow.