106 lines
8.9 KiB
Markdown
106 lines
8.9 KiB
Markdown
# Завершённые задачи
|
||
|
||
Архив задач, переведённых в статус `DONE`.
|
||
|
||
### ED-016 — Привязка экрана к игре через сканер
|
||
|
||
- Статус: `DONE`
|
||
- Репозитории: `evening_detective_server`, `evening_detective_frontend`
|
||
- Результат: на странице игры добавлено сканирование QR-кода экрана с немедленной привязкой к текущей игре; список экранов показывает онлайн/оффлайн-состояние и предупреждает о недоступности более минуты. Сервер разрешает управление организатору и администратору, корректно перепривязывает экран и переносит текущее состояние целевой игры.
|
||
- Проверки: `GOCACHE=/tmp/evening-detective-go-cache go test ./...`, `npm run type-check`, `npm run lint`, `npm run lint:css`, `git diff --check` пройдены.
|
||
|
||
### ED-026 — Количество игроков при создании команды из панели игры
|
||
|
||
- Статус: `DONE`
|
||
- Приоритет: `P1`
|
||
- Репозитории: `evening_detective_server`, `evening_detective_frontend`
|
||
- Результат: в форме создания команды на `GamePage` добавлено количество игроков со значением `1` по умолчанию и диапазоном `1–8`. Значение передаётся через `AddTeam` и сохраняется в существующем `teams.participants_count`; старые flow без значения сохранены.
|
||
- Проверки: `go test ./...`, `npm run type-check`, `npm run lint`, `npm run lint:css`, `npm run build` пройдены; protobuf сгенерирован штатными командами; `git diff --check` пройден.
|
||
|
||
### ED-023 — Оценка сложности игры в отзыве и каталоге
|
||
|
||
- Статус: `DONE`
|
||
- Приоритет: `P1`
|
||
- Репозитории: `evening_detective_server`, `evening_detective_frontend`
|
||
- Результат: в отзыв добавлена обязательная оценка сложности `1–3`; значение хранится в существующей таблице отзывов и передаётся через protobuf. Средняя сложность считается по одобренным отзывам завершённых игр сценария и отображается как «лёгкая», «средняя» или «тяжёлая» в каталоге и карточке сценария. Старые отзывы поддержаны значением по умолчанию `2`; рейтинг `1–5`, модерация и запрет повторного отзыва сохранены.
|
||
- Проверки: `go test ./...` пройден с кэшем в `/tmp`; `npm run type-check`, `npm run lint`, `npm run lint:css` пройдены; protobuf сгенерирован штатными командами; `git diff --check` пройден.
|
||
|
||
### ED-012 — Строгий стандарт написания фронтенда
|
||
|
||
- Статус: `DONE`
|
||
- Репозиторий: `evening_detective_frontend`
|
||
- Результат: создан обязательный стандарт `docs/FRONTEND_CODE_STANDARD.md` как
|
||
единственный источник правил структуры, компонентов, composables, функций,
|
||
типов, API, состояния, стилей, форм, доступности и проверок. Фронтендный
|
||
`AGENTS.md` оставлен указателем и операционными правилами, а корневой
|
||
`AGENTS.md` содержит условную ссылку для задач фронтенда.
|
||
- Проверки: проверены ссылки и однозначное размещение типовых видов кода;
|
||
`git diff --check` пройден; продуктовый код и зависимости не менялись.
|
||
|
||
### ED-025 — Доступ к БД только через repository
|
||
|
||
- Статус: `DONE`
|
||
- Репозиторий: `evening_detective_server`
|
||
- Результат: прямой доступ к БД из application flow убран; проверка доступности БД вынесена в `health_repo`, `screen_sessions_repo` — в `screen_service`, а `game_map_repo` — в `map_service`. Handlers используют сервисные модели и больше не импортируют эти repositories.
|
||
- Проверки: целевые backend-пакеты компилируются; `internal/app` проходит тесты; `git diff --check` пройден. Полные gateway-тесты в sandbox заблокированы запретом на `listen` TCP-порта.
|
||
|
||
### ED-011 — Строгий стандарт написания Go-бэкенда
|
||
|
||
- Статус: `DONE`
|
||
- Репозиторий: `evening_detective_server`
|
||
- Результат: добавлен обязательный стандарт `docs/GO_STANDARD.md` как
|
||
единственный источник правил Go-кода: слои, handlers, services, repositories,
|
||
modules с обязательными интерфейсами, mapping, protobuf, ошибки, SQL,
|
||
транзакции, тесты и именование. В backend `AGENTS.md` оставлены только ссылка
|
||
на стандарт, проектные ограничения и операционные команды.
|
||
- Проверки: `go test ./...` пройден; `git diff --check` пройден.
|
||
|
||
### ED-019 — Добавить кнопку экрана в меню организатора
|
||
|
||
- Статус: `DONE`
|
||
- Репозиторий: `evening_detective_frontend`
|
||
- Результат: в `HeaderMenu.vue` добавлен пункт `Экран` для пользователей с правом `games_page`; пункт ведёт на существующий маршрут `/screen`.
|
||
- Проверки: `npm run type-check`, `npm run lint`, `npm run lint:css` пройдены.
|
||
|
||
### ED-001 — Исправить `actions_count` в `GetGameAnswers`
|
||
|
||
- Статус: `DONE`
|
||
- Репозиторий: `evening_detective_server`
|
||
- Результат: `GetGameAnswers` теперь заполняет `Team.ActionsCount` через `GetActionsCountByTeamIDs`; контракт API не изменён.
|
||
- Проверки: `go test ./...` пройден; lifecycle-тест проверяет количество ходов в ответе для панели оценки.
|
||
|
||
### ED-011 — Считать сообщения без тригерной фразы продолжением диалога
|
||
|
||
- Статус: `DONE`
|
||
- Репозиторий: корневые правила агента
|
||
- Результат: удалено обязательное ожидание тригерной фразы перед продолжением диалога.
|
||
- Проверки: проверены `AGENTS.md` и `docs/agent/README.md`; продуктовый код не затрагивался.
|
||
|
||
### ED-005 — Исправить сброс настроек игры поллингом
|
||
|
||
- Статус: `DONE`
|
||
- Репозиторий: `evening_detective_frontend`
|
||
- Результат: настройки редактируются через локальный черновик и не перезаписываются поллингом.
|
||
- Проверки: type-check, lint и lint:css пройдены.
|
||
|
||
### ED-006 — Добавить страницу итогов игры
|
||
|
||
- Статус: `DONE`
|
||
- Репозиторий: `evening_detective_frontend`
|
||
- Результат: добавлена страница результатов, обработка ошибок и входы из админки и списка игр.
|
||
- Проверки: type-check, lint, lint:css и build пройдены.
|
||
|
||
### ED-007 — Добавить пьедестал победителя на странице итогов
|
||
|
||
- Статус: `DONE`
|
||
- Репозиторий: `evening_detective_frontend`
|
||
- Результат: добавлены баннер победителя, медали мест 1–3 и обработка ничьих.
|
||
- Проверки: type-check, lint, lint:css и build пройдены.
|
||
|
||
### ED-008 — Добавить создание игры из списка игр
|
||
|
||
- Статус: `DONE`
|
||
- Репозиторий: `evening_detective_frontend`
|
||
- Результат: добавлено создание игры из каталога сценариев, выбор даты и времени, отображение даты и исправлена передача RFC 3339 `startAt`.
|
||
- Проверки: type-check, lint и lint:css пройдены; build указан в отчёте плана.
|