About this project

Project Phoenix is a self-hosted, GDPR-by-design supervision platform for German all-day schools (Ganztagsbetreuung / OGS & Hort). It replaces paper attendance lists with NFC-based check-in/out kiosks and provides real-time oversight of student presence and room occupancy. Key capabilities: - NFC student tracking: children scan themselves in and out at tablet kiosks running PyrePortal (Tauri + React) on Raspberry Pis. Updates are pushed live to staff dashboards. - Rooms & groups management: view and manage room occupancy, supervision assignments, combined groups, and activity schedules. - Parents portal: cross-school guardian accounts with a multi-language UI (German, English, Russian, Albanian). - Online enrollment: configurable public enrollment forms with phased intake, care offerings, and consent blocks. - Staff time tracking: work sessions, balance accounting, and vacation workflows compliant with German working-hours law (ArbZG). - Multi-tenancy: multiple Träger (operators) and schools coexist in one deployment, isolated by PostgreSQL Row-Level Security, each on its own subdomain with a separate operator portal. - Per-school runtime settings: tenant admins can configure behavior without redeployment. - In-app manual with printable PDFs generated in CI. Architecture: backend in Go 1.27 with Chi router and Bun ORM; frontend as a Next.js 16 / React 19 / TypeScript / Tailwind CSS app; PostgreSQL 17 with 15 domain schemas, SSL, and RLS; JWT auth with refresh tokens and MFA; Docker Compose deployment with SOPS-encrypted environments; CI/CD via GitHub Actions. NFC kiosks communicate through a device-authenticated /api/iot/* endpoint. The project was built alongside a real OGS and backed by research at the Universität Münster. It offers configurable retention, append-only audit logs, and right-to-erasure support to meet German data-protection requirements.