Files
DataRush/services/backend
Андрей Сумин 2b2d544149 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	services/backend/api/v1/auth.py
#	services/backend/api/v1/router.py
#	services/backend/api/v1/user/schemas.py
#	services/backend/api/v1/user/views.py
#	services/backend/apps/user/apps.py
#	services/backend/config/settings.py
2025-03-01 01:17:13 +03:00
..
2025-03-01 01:10:08 +03:00
2025-02-28 21:52:48 +03:00
2025-02-28 21:52:48 +03:00
2025-02-28 21:52:48 +03:00
2025-02-28 21:52:48 +03:00
2025-02-28 21:52:48 +03:00
2025-02-28 21:52:48 +03:00
2025-02-28 21:52:48 +03:00
2025-02-28 21:52:48 +03:00
2025-02-28 21:52:48 +03:00

project_name Backend

Prerequisites

Ensure you have the following installed on your system:

Basic setup

Installation

Clone the project

git clone project_name

Go to the project directory

cd project_name/services/backend

Customize environment

cp .env.template .env

And setup env vars according to your needs.

Install dependencies

For dev environment
uv sync --all-extras
For prod environment
uv sync --no-dev

Running

Apply migrations
uv run python manage.py migrate
Start celery worker
celery -A config worker -l INFO
Start server

In dev mode:

uv run python manage.py runserver

In prod mode:

uv run gunicorn config.wsgi

Containerized setup

Clone the project

git clone project_name

Go to the project directory

cd project_name/services/backend

Build docker image

docker build -t project_name-backend .

Customize environment

Customize environment with docker run command (or bind .env file to container), for all environment vars and default values see .env.template.

Run docker image

Backend

docker run -p 8080:8080 --name project_name-backend project_name-backend

Celery worker

docker run --name project_name-celery-worker project_name-backend celery -A config worker -l INFO

Backend will be available on 127.0.0.1:8080.

Testing

Clone the project

git clone project_name

Go to the project directory

cd project_name/services/backend

Install dependencies

uv sync --all-extras

Run tests

uv run coverage run --source="." manage.py test

Check coverage

uv run coverage report