first commit

This commit is contained in:
2026-07-18 23:32:11 +03:00
commit d401e9009c
9 changed files with 496 additions and 0 deletions

76
memory_bank/roadmap.md Normal file
View File

@@ -0,0 +1,76 @@
# Дорожная карта
## Этап 0 — уточнение продукта
- согласовать способ оценки игроков и рейтинг по ролям;
- определить размеры команд и число одновременно создаваемых команд;
- выбрать первый формат турнирной сетки;
- подтвердить редактируемые части регламента;
- подготовить wireframes ключевых экранов.
## Этап 1 — фундамент
- создать Go backend и React frontend;
- подготовить отдельный Compose для локальной разработки;
- подготовить production Compose для Coolify без пользовательских сетей;
- добавить multi-stage Dockerfile для frontend и backend;
- настроить PostgreSQL в составе production-стека, persistent volume и миграции;
- добавить healthcheck и graceful shutdown сервисов;
- описать переменные Coolify и настройку внешних резервных копий БД;
- реализовать Discord OAuth и серверные сессии;
- добавить роли Admin/Player и безопасное начальное назначение Admin по Discord ID;
- зафиксировать OpenAPI-контракт;
- реализовать базовую навигацию и дизайн-систему;
- добавить автоматические проверки и тесты.
## Этап 2 — игроки и балансировка
- самостоятельное заполнение профиля и рейтингов по ролям;
- календарь будущих миксов;
- статусы участия Going / Maybe / NotGoing;
- админку для событий, игроков и регистраций;
- изменение Admin статуса участия за другого игрока с аудитом;
- подтверждение списка участников Admin;
- назначение доступных ролей;
- генерация нескольких вариантов команд;
- оценка качества баланса;
- ручная перестановка игроков с пересчётом показателей.
- назначение и переназначение капитана каждой команды.
## Этап 3 — проведение серии
- создание пары команд;
- серверная жеребьёвка с прозрачным результатом;
- драфт карт по выбранному ruleset;
- бан героев с проверкой ролей и истории серии;
- фиксация победителя или ничьей каждой карты;
- автоматический счёт серии и определение победителя;
- исправление ошибочного результата с аудитом;
- синхронизация клиентов в реальном времени.
## Этап 4 — турнир
- single-elimination сетка;
- автоматическое создание следующих пар;
- экран трансляции/зрителя;
- история результатов игрового вечера.
## Этап 5 — удобство сообщества
- пресеты регламентов;
- статистика игроков и команд;
- повторная жеребьёвка с защитой от одинаковых составов;
- Discord-уведомления;
- импорт данных и резервное копирование.
## Идеи после MVP
- режим «капитанский драфт» игроков;
- ограничения «хочу вместе» и «не ставить вместе»;
- сезонный рейтинг сообщества;
- прогноз вероятности победы и подсветка причин дисбаланса;
- голосование зрителей за карту или MVP;
- публичный overlay для стрима;
- PWA с push-уведомлением о начале матча;
- синхронизация событий с внешним календарём через iCalendar;
- библиотека версионируемых регламентов под разные патчи.