Prerequisites
- Node.js 24 or later
- pnpm (the project uses pnpm 10.x — see
packageManagerinpackage.json) - Docker and Docker Compose (for the recommended Docker approach)
Running the frontend
- Docker (recommended)
- Direct pnpm
Run all services from the repository root:Edit This starts the frontend (Next.js on port 3000), backend (Django), PostgreSQL, and Redis.
Copy the environment file
frontend/.env and set at minimum NEXT_SERVER_GITHUB_CLIENT_ID and NEXT_SERVER_GITHUB_CLIENT_SECRET if you need GitHub authentication. See Environment variables for details on every variable.Start all services
Open the app
Navigate to http://localhost:3000 in your browser.
Key pnpm scripts
All scripts are defined infrontend/package.json and run from the frontend/ directory.
| Task | Command |
|---|---|
| Start dev server | pnpm run dev |
| Build for production | pnpm run build |
| Lint (with auto-fix) | pnpm run lint |
| Format code | pnpm run format |
| Run unit tests | pnpm run test:unit |
| Run a11y tests | pnpm run test:a11y |
| Run e2e tests | pnpm run test:e2e |
| Generate GraphQL types | pnpm run graphql-codegen |
The
graphql-codegen script requires the backend to be running. See GraphQL code generation for details.Node.js version
Theengines field in package.json requires Node.js ^24.0.0. Use a version manager like nvm or fnm to switch versions easily:
