First working
This commit is contained in:
parent
56373c1d45
commit
1b46293ce2
92
README.md
92
README.md
|
|
@ -1,92 +0,0 @@
|
||||||
# Alabuga Gamification Platform
|
|
||||||
|
|
||||||
Проект реализует прототип геймифицированного модуля для кадровой системы «Алабуги». Мы создаём космический лор, ранги, миссии, журнал событий и магазин артефактов. Репозиторий содержит backend на FastAPI (Python 3.13) и фронтенд на Next.js (TypeScript).
|
|
||||||
|
|
||||||
## Содержимое репозитория
|
|
||||||
|
|
||||||
- `backend/` — FastAPI, SQLAlchemy, Alembic, бизнес-логика геймификации.
|
|
||||||
- `frontend/` — Next.js с SSR, дизайн в космической стилистике.
|
|
||||||
- `scripts/` — служебные скрипты (сидирование демо-данных).
|
|
||||||
- `docs/` — документация, дополнительный лор.
|
|
||||||
- `docker-compose.yaml` — инфраструктура проекта.
|
|
||||||
|
|
||||||
## Быстрый старт в Docker
|
|
||||||
|
|
||||||
1. Установите Docker и Docker Compose.
|
|
||||||
2. Скопируйте пример конфигурации и при необходимости измените значения:
|
|
||||||
```bash
|
|
||||||
cp backend/.env.example backend/.env
|
|
||||||
cp frontend/.env.example frontend/.env
|
|
||||||
```
|
|
||||||
3. Запустите окружение:
|
|
||||||
```bash
|
|
||||||
docker compose up --build
|
|
||||||
```
|
|
||||||
4. После запуска будут доступны сервисы:
|
|
||||||
- API: http://localhost:8000 (документация Swagger — `/docs`).
|
|
||||||
- Фронтенд: http://localhost:3000.
|
|
||||||
|
|
||||||
Docker Compose автоматически переопределяет `ALABUGA_SQLITE_PATH=/data/app.db`, чтобы база сохранялась во внешнем volume. Для локального запуска вне Docker оставьте путь `./data/app.db` из примера.
|
|
||||||
|
|
||||||
## Локальная разработка backend
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd backend
|
|
||||||
python -m venv .venv
|
|
||||||
source .venv/bin/activate
|
|
||||||
pip install -r requirements-dev.txt
|
|
||||||
|
|
||||||
# подготовьте переменные окружения (однократно)
|
|
||||||
cp .env.example .env
|
|
||||||
|
|
||||||
# применяем миграции
|
|
||||||
alembic upgrade head
|
|
||||||
|
|
||||||
# создаём демо-данные (команда выполняется из корня репозитория)
|
|
||||||
cd ..
|
|
||||||
python -m scripts.seed_data
|
|
||||||
cd backend
|
|
||||||
|
|
||||||
# Запуск API
|
|
||||||
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
|
|
||||||
```
|
|
||||||
|
|
||||||
## Локальная разработка фронтенда
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd frontend
|
|
||||||
npm install
|
|
||||||
cp .env.example .env
|
|
||||||
npm run dev
|
|
||||||
```
|
|
||||||
|
|
||||||
## Пользовательские учётные записи (сидированные)
|
|
||||||
|
|
||||||
| Роль | Email | Пароль |
|
|
||||||
| --- | --- | --- |
|
|
||||||
| Пилот | `candidate@alabuga.space` | `orbita123` |
|
|
||||||
| HR | `hr@alabuga.space` | `orbita123` |
|
|
||||||
|
|
||||||
## Тестирование
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd backend
|
|
||||||
pytest
|
|
||||||
```
|
|
||||||
|
|
||||||
## Основные сценарии, реализованные в бэкенде
|
|
||||||
|
|
||||||
- Авторизация по email/паролю с JWT.
|
|
||||||
- Получение профиля пилота со списком компетенций и артефактов.
|
|
||||||
- Получение миссий, отправка отчётов, модерация HR.
|
|
||||||
- Начисление опыта, маны и повышение ранга по трём условиям из ТЗ.
|
|
||||||
- Журнал событий, экспортируемый через API.
|
|
||||||
- Магазин артефактов с оформлением заказа.
|
|
||||||
- Админ-панель для HR: создание миссий, очередь модерации, список рангов.
|
|
||||||
|
|
||||||
## План развития
|
|
||||||
|
|
||||||
- Реализовать фронтенд-интерфейс всех экранов.
|
|
||||||
- Добавить экспорт CSV и агрегаты аналитики в API.
|
|
||||||
- Настроить CI/CD и автотесты во фреймворках фронтенда.
|
|
||||||
- Расширить документацию в `docs/` (описание лора, сценарии e2e).
|
|
||||||
Loading…
Reference in New Issue
Block a user