Backend for the database, implemented in Django.
Available after deployment or when running locally:
/docs/swagger/docs/redoc
Quick setup to get the app running locally:
-
Install uv.
-
Install dependencies:
uv sync
-
Create local environment config:
cp .env.sample .env
-
Start PostgreSQL and Redis:
docker compose -f compose.dev.yml up -d
Or:
make updev
-
Apply migrations:
uv run manage.py migrate
-
Run the server:
uv run manage.py runserver
Or:
make start
Recommended for active development:
-
Install dependencies:
uv sync
-
Copy the environment file and configure it:
cp .env.sample .env
-
Install pre-commit hooks:
uv run pre-commit install
Hooks will automatically run on commit.
blackandisortwill fix code formatting issues.To check all code manually:
uv run pre-commit run -a
-
Start required services (PostgreSQL and Redis) using Docker Compose:
docker compose -f compose.dev.yml up -d
Or:
make updev
-
Create database migrations:
uv run manage.py makemigrations api
-
Apply database migrations:
uv run manage.py migrate
-
Collect static files:
uv run manage.py collectstatic
-
Create a superuser for the admin interface:
uv run manage.py createsuperuser
-
Run the server locally:
uv run manage.py runserver
-
After registering a model with django-reversion, generate initial revisions:
uv run manage.py createinitialrevisions
-
Run tests:
uv run pytest
Or:
make test
| Task | Command |
|---|---|
| Lint | make lint |
| Run tests | make test |
| Run server | make start |
| Create migrations (api) | uv run manage.py makemigrations api |
| Start Celery worker | make celery |
| Start Celery beat | make celery-beat |
The main page is the Django admin page.
No user-facing web interface is planned yet.
To set up a remote server for development, you can follow this tutorial.
If pre-commit hooks behave strangely, try:
pre-commit clean
pre-commit uninstall
pre-commit install
pre-commit run