Go to file
danilgryaznev e050bd46ef 1 vers
2025-09-21 19:30:55 +02:00
backend 1 vers 2025-09-21 19:30:55 +02:00
docs 1 vers 2025-09-21 19:30:55 +02:00
frontend 1 vers 2025-09-21 19:30:55 +02:00
scripts 1 vers 2025-09-21 19:30:55 +02:00
.gitignore 1 vers 2025-09-21 19:30:55 +02:00
.pre-commit-config.yaml 1 vers 2025-09-21 19:30:55 +02:00
docker-compose.yaml 1 vers 2025-09-21 19:30:55 +02:00
README.md 1 vers 2025-09-21 19:30:55 +02:00
TZ_gamification_markdown.md Add specificatioms 2025-09-21 18:13:36 +02:00
Подробное ТЗ.md Add specificatioms 2025-09-21 18:13:36 +02:00

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. Скопируйте .env.example в .env (файл появится после сборки) и при необходимости поменяйте настройки.
  3. Запустите окружение:
    docker compose up --build
    
  4. После запуска будут доступны сервисы:

Локальная разработка backend

cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt

# применяем миграции и создаём демо-данные
alembic upgrade head
python -m scripts.seed_data

# Запуск API
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

Локальная разработка фронтенда

cd frontend
npm install
npm run dev

Пользовательские учётные записи (сидированные)

Роль Email Пароль
Пилот candidate@alabuga.space orbita123
HR hr@alabuga.space orbita123

Тестирование

cd backend
pytest

Основные сценарии, реализованные в бэкенде

  • Авторизация по email/паролю с JWT.
  • Получение профиля пилота со списком компетенций и артефактов.
  • Получение миссий, отправка отчётов, модерация HR.
  • Начисление опыта, маны и повышение ранга по трём условиям из ТЗ.
  • Журнал событий, экспортируемый через API.
  • Магазин артефактов с оформлением заказа.
  • Админ-панель для HR: создание миссий, очередь модерации, список рангов.

План развития

  • Реализовать фронтенд-интерфейс всех экранов.
  • Добавить экспорт CSV и агрегаты аналитики в API.
  • Настроить CI/CD и автотесты во фреймворках фронтенда.
  • Расширить документацию в docs/ (описание лора, сценарии e2e).