Getting Started
Getting the local development environment up and running.
Prerequisites
- Node.js (version 24 or higher)
- We recommend using a version manager like fnm or NVM (maybe better maintained)
- Git
- uv
- Needed for backend development, but not required if you just want to work on the frontend.
- pnpm
- Needed for frontend development, but not required if you just want to work on the backend.
- Docker
- make
Local Development Steps
- clone the repo. Specifically
trakwhich includeswatchman(the frontend) and the dockerized setup. - Install the backend dependencies (optional if just working the frontend)
uv sync --all-extras
- Install the backend pre-commit hooks
uv run pre-commit install
- Install the frontend dependencies (optional if just working the backend)
cd frontendpnpm install
- Install the husky pre-commit hooks for the frontend
pnpm prepare
At this point, things should be set up for locally running one of the services. if you want to run the entire stack, we recommend the containerized setup with docker compose.
Containerized local deployment
- Make sure you have Docker installed and running.
- From the root of the project, run
make startto start the services.- This will start the backend, frontend, database, nginx, and any other necessary services in Docker containers.
- It does not migrate the database or seed it with data (yet).
- Migrate the database
make migrate
- seed the database with a test admin
make manage ARGS="createsuperuser"
See the makefile for more common commands like stopping the services, running tests in the containers, etc. See the frontend and backend repo docs for more information on how to do things like running tests, linting, architecture, and everything else.