add shel
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# Фаза 16. Расписание в школе
|
||||
|
||||
## Зависимости
|
||||
|
||||
- [Фаза 15](15-timetable-planner.md)
|
||||
|
||||
## Зачем
|
||||
|
||||
Расписание живёт в школе, переживает перезапуск и отвечает на вопрос «кто где сейчас». Экрана
|
||||
ещё нет.
|
||||
|
||||
## Задачи
|
||||
|
||||
- [ ] Расписание пересобирается при найме, увольнении и изменении назначений — **не по тику**
|
||||
- [ ] Хранится в сейве рядом с составом; пишется при изменении, не по таймеру. Закреплённые
|
||||
игроком уроки сохраняются вместе с ним
|
||||
- [ ] Воркер публикует расписание снимком, как ростер
|
||||
- [ ] «Кто где сейчас» **вычисляется** из расписания и часов, а не хранится вторым состоянием
|
||||
- [ ] Команда закрепления и снятия закрепления урока — через мейлбокс воркера
|
||||
- [ ] `GET /api/schools/{id}/timetable` — расписание класса и расписание человека; читает
|
||||
опубликованный снимок
|
||||
- [ ] Снимок карты отдаёт по узлу, что там сейчас идёт и у кого; протокол и `docs/protocol.md`
|
||||
правятся тем же коммитом, версия бумпится
|
||||
- [ ] Панель локации получает данные для «Сейчас» и «Персонажей»
|
||||
|
||||
## Критерий готовности
|
||||
|
||||
- Нанять учителя математики — в расписании появились уроки математики
|
||||
- Снять назначение — уроки исчезли, предмет стал непокрытым
|
||||
- Передвинуть урок, нанять ещё одного человека — передвинутый остался на месте
|
||||
- Перемотать время на ×4 через звонок — «кто где сейчас» меняется вместе с уроком
|
||||
- В каникулы и в выходной никто нигде не находится
|
||||
- Перезапуск сервера поднимает то же расписание с теми же закреплениями
|
||||
- `dotnet test` проходит
|
||||
|
||||
## Стоп
|
||||
|
||||
Не рисовать расписание на экране. Не перемещать людей по карте.
|
||||
Reference in New Issue
Block a user