Files
2026-04-01 21:49:24 +05:00

33 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Спринт: сервер, Docker, Postgres, роли
## Обязательные требования
- **Docker**: образ приложения + `docker-compose` с PostgreSQL; один контейнер отдаёт API и статику фронтенда.
- **PostgreSQL** вместо SQLite; Prisma-миграции при старте контейнера (`migrate deploy`).
- **Два аккаунта** (логины/пароли из переменных окружения при первом запуске): наставник **Алексей**, ученик **Константин**; связь «наставник ведёт ученика» в БД.
- **Алексей** видит и создаёт контент для Константина (чат, вопросы, учебники, тесты, отчёты).
- **Константин** удаляет **только свои** вопросы (`DELETE` только для роли STUDENT и только при совпадении `studentId`); наставник удалять вопросы не может.
- **Настройки** (ключ API, промпты): только наставник (`GET /raw`, `PUT`).
## Статус реализации
См. коммит(ы) в репозитории после этой спецификации: `Dockerfile`, `docker-compose.yml`, `SPRINT.md`, обновлённые `schema.prisma`, auth, защита роутов, UI логина и удаления вопросов.
## Запуск в Docker (обязательная упаковка)
```bash
cp .env.docker.example .env
# Заполните JWT_SECRET, SEED_TUTOR_PASSWORD, SEED_STUDENT_PASSWORD; при желании DEEPSEEK_API_KEY
docker compose up --build
```
Приложение: http://localhost:3107 (логины по умолчанию `alexey` / `konstantin`, см. `SEED_*_USERNAME`).
Файл-пример переменных: [.env.docker.example](.env.docker.example).
## Локальная разработка
- Поднять Postgres (или `docker compose up db -d`).
- `DATABASE_URL=postgresql://...` в `backend/.env`.
- `npm run dev` из корня (как раньше: backend :3001, frontend :5173 с прокси).