3.1 KiB
3.1 KiB
Задачи: динамическое расписание и календарный учебный график
Актуальная декомпозиция относится к модели, где календарный учебный график хранится дневной сеткой и назначается группе на учебный год.
Выполнено
- Переписана базовая схема
V1__init.sqlпод полный сброс БД. - Добавлены специальности, профили обучения и связь группы с профилем.
- Добавлены формы обучения календарного графика.
- Добавлен справочник кодов активностей Excel-графика.
- Добавлены календарные графики, дневная сетка и назначения графиков группам.
- Обновлён
AcademicDateService: активность дня определяется по назначенному группе графику. - Обновлён
ScheduleGeneratorService: обычные пары генерируются только на разрешённых днях. - В
V1__init.sqlдобавлены отдельные часы и недели начала для лекций, лабораторных и практик. - Добавлены подгруппы для лабораторных слотов; лекции и практики не делятся на подгруппы.
- Добавлены API профилей, календарей, дневной сетки, кодов активностей и назначений группам.
- Обновлены админские экраны специальностей, групп и расписания.
- Добавлена документация
docs/ACADEMIC_CALENDAR.md.
Оставшиеся задачи
- Добавить интеграционные тесты генерации расписания для кодов
Т,Э,К,*,=. - Добавить проверку конфликтов преподавателей, аудиторий и групп при сохранении правил.
- Добавить модель связи пользователя-студента с учебной группой.
- Добавить импорт календарного графика из Excel, если он понадобится после ручного редактора.
Проверочный сценарий
- Полностью сбросить локальную БД.
- Запустить приложение и применить
V1__init.sql. - Создать профиль специальности.
- Создать календарный график и заполнить дневную сетку.
- Назначить график группе.
- Проверить
GET /api/scheduleна дне теории и на днях, где пары запрещены.