Об этом проекте

Project Phoenix — это самостоятельно размещаемая платформа присмотра, изначально спроектированная с соблюдением GDPR, для немецких школ с продлённым днём (Ganztagsbetreuung / OGS & Hort). Она заменяет бумажные списки посещаемости киосками регистрации входа/выхода на основе NFC и обеспечивает контроль присутствия учащихся и занятости помещений в реальном времени. Основные возможности: - Отслеживание учащихся по NFC: дети самостоятельно регистрируют вход и выход на планшетных киосках с PyrePortal (Tauri + React) на Raspberry Pi. Обновления в реальном времени передаются на панели сотрудников. - Управление помещениями и группами: просмотр и управление занятостью помещений, назначениями на присмотр, объединёнными группами и расписаниями занятий. - Портал для родителей: межшкольные аккаунты опекунов с многоязычным интерфейсом (немецкий, английский, русский, албанский). - Онлайн-запись: настраиваемые публичные формы записи с поэтапным приёмом, предложениями по уходу и блоками согласий. - Учёт рабочего времени сотрудников: рабочие сессии, учёт баланса и процессы отпусков в соответствии с немецким законом о рабочем времени (ArbZG). - Мультитенантность: несколько Träger (операторов) и школ сосуществуют в одном развёртывании, изолированы с помощью PostgreSQL Row-Level Security, каждая на своём поддомене с отдельным порталом оператора. - Настройки времени выполнения для каждой школы: администраторы тенанта могут настраивать поведение без повторного развёртывания. - Встроенное руководство с печатными PDF, создаваемыми в CI. Архитектура: backend на Go 1.27 с маршрутизатором Chi и Bun ORM; frontend как приложение Next.js 16 / React 19 / TypeScript / Tailwind CSS; PostgreSQL 17 с 15 доменными схемами, SSL и RLS; аутентификация JWT с refresh-токенами и MFA; развёртывание через Docker Compose с окружениями, зашифрованными SOPS; CI/CD через GitHub Actions. NFC-киоски взаимодействуют через endpoint /api/iot/* с аутентификацией устройства. Проект был создан вместе с реальным OGS и поддержан исследованием в Universität Münster. Он предлагает настраиваемое хранение, журналы аудита только для добавления и поддержку права на удаление, чтобы соответствовать немецким требованиям защиты данных.