Об этом проекте
Это система составления расписания и управления заменами, разработанная с ориентацией на повседневные рабочие процессы завуча школы K–12 на Тайване. Лицензия MIT, развёртывание на сервере одной школы, чисто веб-форма, интерфейс на традиционном китайском с использованием тайваньской образовательной терминологии.
Функциональность довольно полная. Базовые данные включают семестры и таблицы периодов (шаблоны для нескольких систем обучения), учителей/классы/предметы/помещения, импорт из Excel, мастер настройки, копирование при открытии нового семестра, а также назначение классов и таблиц периодов для смешанных систем обучения. Распределение нагрузки и ручное составление расписания поддерживают группы параллельных классов, совместное преподавание, сдвоенные уроки, подсчёт часов в реальном времени, недельное расписание с перетаскиванием, проверку конфликтов в отдельной ячейке, управление несколькими черновиками и публикацию. Автоматическое составление расписания использует движок Google OR-Tools CP-SAT, решает задачу с жёсткими ограничениями H1–H10 и взвешенными мягкими ограничениями S1–S8, выполняется в фоне с отображением прогресса в реальном времени; при отсутствии решения конфликты локализуются на языке учебной части, поддерживается частичное расписание.
Процесс замен включает регистрацию отпусков и развёртывание затронутых периодов, рекомендации замен, проверку перестановок, назначение со вступлением в силу, внутренние уведомления и уведомления по Email с подтверждением, доску на сегодня и печать объявлений A4, а также ежемесячный экспорт статистики часов в Excel. Отчёты позволяют выводить расписание классов, учителей и помещений в Excel, PDF (со встроенными китайскими шрифтами) или PNG, а также общую таблицу по школе и пакетный zip. В части эксплуатации предусмотрены ежедневное автоматическое резервное копирование, ручное резервное копирование/скачивание/загрузка для восстановления, журнал аудита и роли RBAC.
Технологический стек: фронтенд Vue 3 + TypeScript + Vite + Pinia + Naive UI, бэкенд Python 3.12 + FastAPI + SQLAlchemy 2 + Pydantic v2, база данных PostgreSQL 16, Redis и RQ для фоновых задач составления расписания, экспорта и резервного копирования, Caddy в качестве обратного прокси, развёртывание через Docker Compose из шести контейнеров. Официальные образы доступны для amd64 и arm64, минимальные требования — 2 ядра / 4 ГБ RAM / 10 ГБ диска, для автоматического составления расписания рекомендуется 4 ядра и 8 ГБ.
Установка предлагает однокомандный скрипт (Windows PowerShell и bash для Linux/macOS/NAS), также можно загрузить официальный образ или собрать из исходного кода. Проект намеренно устроен так, чтобы сначала скачать, а затем запустить, а не выполнять напрямую через конвейер, чтобы пользователь мог предварительно ознакомиться с содержимым. В систему встроена функция демонстрационных данных, позволяющая быстро создать полные данные вымышленной средней школы до создания семестра, чтобы опробовать составление расписания, замены, экспорт и резервное копирование.
Документация включает руководство пользователя для завуча (11 глав, веб-страницы с иллюстрациями), руководство по развёртыванию, описание архитектуры, карточки задач разработки, журнал изменений и руководство по участию, а также офлайн-версию HTML. Статус проекта — v1.2.4, шесть основных этапов M0–M5 завершены, имеются модульные, интеграционные и сквозные тесты.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.