first commit
This commit is contained in:
76
memory_bank/roadmap.md
Normal file
76
memory_bank/roadmap.md
Normal 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;
|
||||
- библиотека версионируемых регламентов под разные патчи.
|
||||
Reference in New Issue
Block a user