Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
# Тестовое задание ## Тестовые учётные записи | Роль | Login | Password | |---------------|-------------------|-------------| | Пользователь | user@test.com | user12345 | | Администратор | admin@test.com | admin12345 | --- ## Вариант 1: Запуск через Docker Compose 1. Скопируйте `.env.example` в `.env` и при необходимости поправьте значения: ```bash cp .env.example .env ``` 2. Соберите и запустите контейнеры: ```bash docker compose up --build ``` 3. Приложение автоматически: - дождётся готовности PostgreSQL (healthcheck), - выполнит `alembic upgrade head` (создаст таблицы и seed-данные из п. "Тестовые учётные записи"), - запустится на `http://localhost:8000`. 4. Остановка: ```bash docker compose down ``` 5. Полная очистка (включая данные БД): ```bash docker compose down -v ``` --- ## Вариант 2: Запуск без Docker (локально) 1. Убедитесь, что установлен PostgreSQL 15+ и создана база данных: ```sql CREATE DATABASE test_task; CREATE USER postgres WITH PASSWORD 'postgres'; ``` 2. Создайте виртуальное окружение и установите зависимости: ```bash python -m venv .venv source .venv/bin/activate # Linux/macOS .venv\Scripts\activate # Windows PowerShell pip install -r requirements.txt ``` 3. Скопируйте `.env.example` в `.env` и укажите `DB_HOST=localhost`: ```bash cp .env.example .env ``` 4. Примените миграции (создаст таблицы и тестовые учётки): ```bash alembic upgrade head ``` 5. Запустите приложение: ```bash sanic app.main:app --host=0.0.0.0 --port=8000 ``` 6. Приложение доступно на `http://localhost:8000`. --- ## Известные особенности Windows Если при `docker compose up` возникает ошибка вида: exec /entrypoint.sh: no such file or directory это связано с автоконвертацией окончаний строк Git на Windows (CRLF вместо LF). Решение: ```bash git config core.autocrlf input git add --renormalize . docker compose build --no-cache app ```