Refactor series handling in backend to include player context in Toss, Ban, Pick, and Record actions. Update service methods to accept player parameters, enhancing authorization checks and ensuring proper team actions. Modify integration tests to reflect new method signatures and improve tournament hydration logic in the store. Enhance frontend components to support new series features and improve user experience with live match navigation.
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
Собран полный вертикальный production-пайплайн скрима: закрытие регистрации → versioned балансировка → ручная правка и подтверждение составов 1/2/2 → капитаны → атомарный старт Bo3 или турнира → жеребьёвка → баны карт → баны героев → результаты и завершение. Состояние события, roster draft и серии сохраняется в PostgreSQL с optimistic locking, аудитом и глобальной SSE-синхронизацией без ручного обновления страницы.
|
||||
|
||||
Admin UI содержит пошаговый workflow и roster editor с same-role swap, резервом и запуском. Live, spectator и bracket используют реальные API-команды и realtime refresh; demo fixtures остались только локальным showcase.
|
||||
Admin UI содержит пошаговый workflow и roster editor с same-role swap, резервом и запуском. Live, spectator и bracket используют реальные API-команды и realtime refresh; участник турнира автоматически открывает собственный матч, остальные попадают в spectator mode, а актуальная сетка и соседние параллельные матчи доступны прямо над серией. Demo fixtures остались только локальным showcase.
|
||||
Добавлена роль Moderator: она имеет все операционные права Admin, но управление списком модераторов доступно только Admin. До состояния Live workflow можно откатить на один этап назад.
|
||||
|
||||
## Подтверждённые требования
|
||||
@@ -26,7 +26,7 @@ Admin UI содержит пошаговый workflow и roster editor с same-r
|
||||
- последовательные баны карт и героев;
|
||||
- серии Bo3;
|
||||
- фиксация исхода каждой карты, счёта серии и итогового победителя;
|
||||
- турнирная сетка;
|
||||
- актуальная турнирная сетка с параллельными матчами, умным live-входом и переключением spectator/control;
|
||||
- production-развёртывание единым Docker Compose resource в Coolify;
|
||||
- PostgreSQL в том же Compose-стеке с persistent volume;
|
||||
- мобильный и десктопный интерфейс.
|
||||
@@ -48,7 +48,7 @@ Admin UI содержит пошаговый workflow и roster editor с same-r
|
||||
|
||||
## Предлагаемый стек
|
||||
|
||||
- backend: Go, PostgreSQL, REST, WebSocket/SSE;
|
||||
- backend: Go, PostgreSQL, REST, SSE;
|
||||
- frontend: React, TypeScript, Vite, TanStack Query/Router, Tailwind CSS, shadcn/ui;
|
||||
- контракт: OpenAPI;
|
||||
- локальная инфраструктура: Docker Compose;
|
||||
|
||||
@@ -88,7 +88,7 @@ Application-слой управляет единым versioned workflow собы
|
||||
|
||||
Ручное редактирование работает с серверным roster draft. Backend разрешает обмен только между одинаковыми ролевыми слотами и замену слота игроком из резерва, после чего пересчитывает средние рейтинги и метрики. Подтверждение требует полного состава 1/2/2, уникальных игроков и капитана внутри каждой команды.
|
||||
|
||||
`start-scrim` атомарно блокирует составы, создаёт одну или несколько Bo3-серий и первый draft state. Для двух команд создаётся одиночная серия; для четырёх и более подтверждённых команд создаётся single-elimination турнир. ID активной серии возвращается frontend, который переходит на live-экран.
|
||||
`start-scrim` атомарно блокирует составы, создаёт одну или несколько Bo3-серий и первый draft state. Для двух команд создаётся одиночная серия; для четырёх и более подтверждённых команд создаётся single-elimination турнир. Tournament read-model гидратируется свежими версиями всех сохранённых серий, поэтому параллельные матчи одного раунда независимо обновляют счёт и фазу в общей сетке. Умный event-level live-вход направляет участника в его матч, капитана/staff — к доступным командам, а остальных — в spectator mode; над серией остаются компактная сетка и навигация между активными матчами раунда.
|
||||
|
||||
### Драфт как конечный автомат
|
||||
|
||||
|
||||
Reference in New Issue
Block a user