34 lines
2.0 KiB
Markdown
34 lines
2.0 KiB
Markdown
# Фаза 14. Каркас дня и каникулы
|
|
|
|
## Зависимости
|
|
|
|
- [Фаза 10](10-subjects.md)
|
|
|
|
## Зачем
|
|
|
|
Школа получает учебный календарь: во сколько звонок, сколько уроков, какие дни рабочие и когда
|
|
каникулы. Расписания ещё нет — есть время, в которое его можно будет положить.
|
|
|
|
## Задачи
|
|
|
|
- [ ] Каркас дня в `core` дефом: начало первого урока, число уроков, длина урока, длины перемен
|
|
и какая из них большая
|
|
- [ ] Длина учебной недели — в `SimulationOptions`, пять дней по умолчанию
|
|
- [ ] Каникулы дефами: осенние, зимние, весенние, лето — диапазонами дат внутри учебного года
|
|
- [ ] Запрос «какой сейчас слот»: номер урока или перемена, или «вне учебного дня» — по игровому
|
|
времени, выходным и каникулам
|
|
- [ ] Требование к типу помещения у `SubjectDef`: физкультура в спортзале, информатика в
|
|
компьютерном классе; без требования — кабинет класса
|
|
- [ ] `GET /api/catalog` отдаёт каркас дня — он понадобится сетке расписания
|
|
|
|
## Критерий готовности
|
|
|
|
- В субботу, в каникулы и в 23:00 запрос слота отвечает «занятий нет»
|
|
- В 10:20 буднего учебного дня отвечает конкретным номером урока
|
|
- Смена длины недели в настройках делает субботу рабочей
|
|
- `dotnet test` проходит
|
|
|
|
## Стоп
|
|
|
|
Ни одного урока не ставится. Ни планировщика, ни экрана.
|