Local Development

Local Development

Ports (Default)

  • Backend API (Docker): http://localhost:8080 (container listens on 8000, mapped in compose.yml)
  • Frontend (Next dev): http://localhost:3000
  • Mailpit UI: http://localhost:8025 (SMTP on localhost:1025)

Run Backend (Docker)

docker compose up -d postgres redis mailpit
docker compose up -d django worker

Equivalent:

make run

Backend health and docs:

  • http://localhost:8080/ht/
  • http://localhost:8080/api/v1/docs/
  • http://localhost:8080/api/v1/openapi.json

Run Frontend

cd frontend
pnpm dev

Generate Orval Client (After Backend API Changes)

Prereq: backend running on http://localhost:8080.

make create_spec

This writes .openapi.json at repo root and regenerates frontend/generated/ (do not edit generated code).

Tests

Backend tests must run in Docker:

make tests

Frontend tests:

cd frontend
pnpm test:run

Last updated June 21, 2026