Projektstand

Projektgeruest, Shared-Hosting-Betrieb, Migrationen, Keycloak-Login, Security-Basis, Stammdatenmodule, Durchgangsverwaltung, Import, Teilnehmerverwaltung mit Admin-Teilupdates, Eltern-Self-Service, Check-in-Arbeitsoberflaeche, Zimmerplanung, oeffentliches Dashboard, Betreuerfreigaben, Taschengeld sowie Audit-, Hardening- und Druckansichten sind vorbereitet.

Umgesetzte Kernbausteine

  • Front Controller, Router, View-Rendering und Fehlerseiten
  • Shared-Hosting-tauglicher Root-Einstieg mit Maintenance-Bereich
  • PDO-Bootstrap, Migrationen und Seeds
  • Keycloak-OIDC fuer interne Nutzer
  • Guard-/Policy-System, Session-Haertung und Feldverschluesselung
  • Stammdatenmodule fuer Saisons, Unterkunft/Bereiche/Zimmer und saisonale Zusatzangebote
  • Durchgaenge mit Basisdaten, Elternzugang, Dashboard-Schaltern und Bereichs-/Zimmerregeln
  • Importmodul mit JSON-Textarea, Preview, Commit, Parser, Upsert und Importprotokollen
  • Teilnehmerverwaltung mit Filterliste, Detailseite, ersten Admin-Teilupdates und adminseitiger Geschlechtskorrektur
  • Eltern-Self-Service mit Login, Whitelist-Updates, Zusatzangeboten und Selbst-Check-in
  • Check-in-Arbeitsoberflaeche mit Statuswechseln, Nachweisstatus, Warnlogik und Konfliktbehandlung
  • Zimmerplanung mit effektiver Verfuegbarkeit, greedy Vorschlagslogik, manueller Zuweisung und druckfreundlicher Zimmerliste
  • Betreuerfreigaben mit Bereichs-, Zimmer- und Teilnahme-Scope sowie reduzierten Betreueransichten
  • Taschengeldkonten, Buchungen und Wallet-Scope-Rechte fuer ADMIN und Betreuer inkl. Kontoanlage im freigegebenen Scope
  • Audit-Log, datensparsame Fehler-/Datei-Logs, Druckansichten und zusaetzliche Security-Header

Schnelltest

Setzt eine Flash-Meldung und redirectet zurueck auf diese Seite.

Aktive Startrouten

  • GET /
  • GET /auth/login
  • GET /auth/callback
  • POST /auth/logout
  • GET /intern/sicherheit
  • GET /intern/admin-test
  • GET /intern/audit
  • GET /intern/durchgaenge/{id}/audit
  • GET /intern/durchgaenge
  • POST /intern/durchgaenge
  • GET /intern/durchgaenge/{id}
  • GET /intern/durchgaenge/{id}/import
  • POST /intern/durchgaenge/{id}/import/preview
  • POST /intern/durchgaenge/{id}/import/commit
  • POST /intern/durchgaenge/{id}/room-plan/generate
  • GET /intern/durchgaenge/{id}/checkin
  • GET /intern/durchgaenge/{id}/checkin/druck
  • GET /intern/durchgaenge/{id}/zimmerplanung
  • GET /intern/durchgaenge/{id}/zimmerliste
  • GET /intern/durchgaenge/{id}/zimmerliste/druck
  • GET /intern/durchgaenge/{id}/teilnahmen
  • GET /intern/teilnahmen/{id}
  • GET /intern/teilnahmen/{id}/druck
  • GET /intern/teilnahmen/{id}/wallet
  • POST /intern/teilnahmen/{id}/wallet/setup
  • POST /intern/teilnahmen/{id}/wallet/bookings
  • POST /intern/teilnahmen/{id}/checkin-status
  • POST /intern/teilnahmen/{id}/nachweise
  • POST /intern/teilnahmen/{id}/assign-room
  • POST /intern/teilnahmen/{id}/unassign-room
  • POST /intern/teilnahmen/{id}/admin
  • POST /intern/durchgaenge/{id}/basis
  • POST /intern/durchgaenge/{id}/delete
  • POST /intern/durchgaenge/{id}/parents-access
  • POST /intern/durchgaenge/{id}/dashboard-access
  • POST /intern/durchgaenge/{id}/dashboard-token/rotate
  • POST /intern/durchgaenge/{id}/bereiche/{bereich_id}
  • POST /intern/durchgaenge/{id}/bereiche/{bereich_id}/reset
  • POST /intern/durchgaenge/{id}/zimmer/{room_id}
  • POST /intern/durchgaenge/{id}/zimmer/{room_id}/reset
  • GET /intern/saisons
  • POST /intern/saisons
  • POST /intern/saisons/{id}
  • GET /intern/unterkunft
  • POST /intern/unterkunft
  • POST /intern/unterkunft/bereiche
  • POST /intern/unterkunft/bereiche/{id}
  • POST /intern/unterkunft/bereiche/{id}/delete
  • POST /intern/unterkunft/zimmer
  • POST /intern/unterkunft/zimmer/{id}
  • POST /intern/unterkunft/zimmer/{id}/delete
  • GET /intern/zusatzangebote
  • POST /intern/zusatzangebote
  • POST /intern/zusatzangebote/{id}
  • GET /intern/durchgaenge/{id}/betreuer
  • POST /intern/durchgaenge/{id}/betreuer/freigaben
  • POST /intern/durchgaenge/{id}/betreuer/freigaben/delete
  • POST /intern/durchgaenge/{id}/betreuer/bereiche
  • POST /intern/durchgaenge/{id}/betreuer/bereiche/delete
  • POST /intern/durchgaenge/{id}/betreuer/zimmer
  • POST /intern/durchgaenge/{id}/betreuer/zimmer/delete
  • POST /intern/durchgaenge/{id}/betreuer/teilnahmen
  • POST /intern/durchgaenge/{id}/betreuer/teilnahmen/delete
  • GET /intern/betreuer/durchgaenge
  • GET /intern/betreuer/durchgaenge/{id}
  • GET /intern/betreuer/durchgaenge/{id}/dashboard
  • GET /intern/betreuer/durchgaenge/{id}/zimmerliste
  • GET /intern/betreuer/teilnahmen/{id}
  • GET /intern/betreuer/teilnahmen/{id}/wallet
  • POST /intern/betreuer/teilnahmen/{id}/wallet/setup
  • POST /intern/betreuer/teilnahmen/{id}/wallet/bookings
  • POST /system/csrf-check
  • GET /_maintenance
  • POST /_maintenance/login
  • POST /_maintenance/logout
  • POST /_maintenance/migrate
  • POST /_maintenance/seed
  • GET /api/health
  • GET /api/betreuer/durchgaenge/{id}/overview
  • GET /api/betreuer/durchgaenge/{id}/dashboard/poll
  • GET /api/durchgaenge/{id}/overview
  • GET /api/durchgaenge/{id}/room-config
  • POST /api/durchgaenge/{id}/room-plan/generate
  • POST /api/durchgaenge/{id}/room-plan/move-batch
  • POST /api/durchgaenge/{id}/import/preview
  • POST /api/durchgaenge/{id}/import/commit
  • GET /api/durchgaenge/{id}/checkin-worklist
  • GET /api/durchgaenge/{id}/teilnahmen
  • GET /api/teilnahmen/{id}
  • GET /api/teilnahmen/{id}/wallet
  • POST /api/teilnahmen/{id}/wallet/setup
  • POST /api/teilnahmen/{id}/wallet/bookings
  • POST /api/teilnahmen/{id}/checkin-status
  • POST /api/teilnahmen/{id}/nachweise
  • POST /api/teilnahmen/{id}/assign-room
  • POST /api/teilnahmen/{id}/unassign-room
  • PATCH /api/teilnahmen/{id}/admin
  • PATCH /api/teilnahmen/{id}/parent
  • POST /api/teilnahmen/{id}/self-checkin/submit
  • GET /api/betreuer/teilnahmen/{id}/wallet
  • POST /api/betreuer/teilnahmen/{id}/wallet/setup
  • POST /api/betreuer/teilnahmen/{id}/wallet/bookings
  • POST /api/durchgaenge/{id}/parents-access
  • POST /api/durchgaenge/{id}/dashboard-access
  • POST /api/durchgaenge/{id}/dashboard-token/rotate
  • POST /api/durchgaenge/{id}/bereiche/{bereich_id}
  • POST /api/durchgaenge/{id}/zimmer/{room_id}
  • GET /eltern/{durchgang_code}
  • POST /eltern/{durchgang_code}/login
  • GET /eltern/token/{token}
  • GET /eltern/{durchgang_code}/kontakte
  • POST /eltern/{durchgang_code}/kontakte
  • GET /eltern/{durchgang_code}/medizin
  • POST /eltern/{durchgang_code}/medizin
  • GET /eltern/{durchgang_code}/pruefen
  • POST /eltern/{durchgang_code}/self-checkin/submit
  • GET /eltern/{durchgang_code}/abgeschlossen
  • POST /eltern/{durchgang_code}/logout
  • GET /dashboard/{token}
  • GET /dashboard/{token}/poll

Status

PHP
8.3.30
Datenbank
konfiguriert
Keycloak
konfiguriert
Crypto
ok
Health
/api/health

Session-Sicherheit

Aktiviert
ja
Idle Timeout
7200s
Absolute Laufzeit
43200s
User-Agent-Bindung
ja

Interner Login

Noch keine interne Sitzung aktiv.