Код backend находится в django_around/around.
manage.py - Django CLI.around/settings.py - настройки проекта.around/urls.py - URL routing.start.sh - dev/start command в compose.start_prod.sh - production start command.start_celery_worker.sh - Celery worker.start_celery_beat.sh - Celery beat.Основной API prefix: /api/v1/.
Auth endpoints:
POST /api/v1/auth/registerPOST /api/v1/auth/loginPOST /api/v1/auth/verify-codePOST /api/v1/auth/resend-otpPOST /api/v1/auth/refreshPOST /api/v1/auth/logoutGET /api/v1/auth/users/me/PATCH /api/v1/auth/users/me/PATCH /api/v1/auth/users/me/address/GET /api/v1/auth/users/me/sheets/Domain and supporting endpoints:
/api/v1/addresses//api/v1/feedback//api/v1/sheets/, /api/v1/sheets/nearby/, /api/v1/sheets/favorites//api/v1/job-sheets/, /api/v1/bringing-sheets/, /api/v1/contract-sheets/, /api/v1/storage-sheets//api/v1/reviews//api/v1/hot-ads//api/v1/schedule//api/v1/billing/*/api/v1/push/*Schema:
GET /api/schema/GET /api/v1/schema/swagger-ui/GET /api/v1/schema/redoc/Команда для заполнения локальной БД демо-данными:
python manage.py seed_demo_data
В Docker:
docker compose exec around_back python manage.py seed_demo_data
Команда создает двух демо-пользователей, profile/address/calendar, job sheet, job item and job orders covering every event and internal order status.
Card bank/payment system reference data:
python manage.py seed_kz_card_banks
message.access, refresh, token_type, user.preferred_language; profile update allows changing it./api/v1/billing/*.cards/bind/ -> provider redirect -> cards/bind/complete/.confirm-payment and request-refund actions./api/v1/reviews/ recalculate sheet rating and review_count./api/v1/push/* register/list/unregister user devices and use Firebase through FirebaseQueue when enabled.Media storage работает в двух режимах:
MEDIA_ROOT.AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_STORAGE_BUCKET_NAME, AWS_S3_ENDPOINT_URL.Static files в production сохраняются в Docker volume static_data.
Важно для production: текущий docker-compose.prod.yml не монтирует persistent media volume, а nginx не отдаёт /media/. Для production media нужно использовать S3-compatible storage или отдельно доработать compose/nginx. Подробности: Environment and runtime.