Zeltlager Heilige Länder
Ein Portal für ein ehrenamtlich organisiertes Ferienlager: Anmeldung, Einwilligungen, Platzkapazität und Verwaltung laufen in einem System.


Was das Projekt ist
- Das Portal ersetzt die Vorgängerseite eines ehrenamtlichen Ferienlagers und deren Anmeldung per PDF-Download. Die alte Seite lief in einem Baukasten-Editor mit fest eingestellter Breite von 1072 Pixeln, eine echte Mobildarstellung gab es nicht.
- Verarbeitet werden Daten von Minderjährigen, einschließlich Gesundheitsangaben. Der Datenschutz ist deshalb Teil der Architektur: Gesundheitsdaten liegen nach Art. 9 DSGVO in einer eigenen Tabelle, ein monatlicher Cron-Job löscht in drei Phasen, und Eltern können ihr Konto selbst löschen.
- Das System ist auf mehrere Lagerjahre ausgelegt. Plätze, Preise, Altersgrenze und der Anmeldezeitraum werden je Jahr im Admin-Bereich konfiguriert, das Lagerjahr ist dort umschaltbar.
Funktionsumfang
- Online-Anmeldung für mehrere Kinder in einem Vorgang, Betrag je Kind berechnet, mit ermäßigtem Satz für Ministranten bis zur konfigurierten Altersgrenze.
- Unterschrift direkt auf dem Gerät erfasst, in der Datenbank gespeichert und als Bilddatei an die Bestätigungsmail angehängt.
- Drei getrennt erfasste Einwilligungen für Haftung, Foto- und Videonutzung sowie Datenschutz, alle drei Pflicht.
- Platzkapazität je Lagerjahr konfigurierbar, mit Live-Restplatzanzeige, Hinweis ab 20 freien Plätzen und Ausbuchungs-Banner bei geschlossener Anmeldung.
- Vorbefüllung der Anmeldung aus dem Elternkonto.
- Login klassisch oder mit Passkeys nach WebAuthn, Passkey-Verwaltung im Konto.
- Vier Rollen mit Freischaltungs-Workflow: Eltern, Leiter, Leiter in Freischaltung und Administration.
- Verwaltung für Ehrenamtliche: Teilnehmer bearbeiten, Gruppen in drei Gruppentypen führen, Benutzerkonten anlegen, Lagerjahr konfigurieren.
- Teilnehmerliste als PDF, erzeugt über eine interne Render-Route, nur für die Administration.
- Sechs Typen von Transaktionsmails.
- Zahlung über einen vorbefüllten Zahlungslink oder in bar.
- Kontaktformular mit Bot-Schutz, Galerie mit zwölf Einträgen, Dokumenten-Archiv, Dark Mode und Skip-Link.
Technische Umsetzung
- Framework und Sprache
- Next.js 16 mit App RouterReact 19TypeScriptTailwind CSS 4Framer Motion
- Datenhaltung
- Neon Serverless PostgresSQL ohne ORMeigener Migrations-Runner
- Authentifizierung
- eigene Session mit JWTbcryptPasskeys über SimpleWebAuthn
- Zahlung
- vorbefüllter ZahlungslinkBarzahlung
- E-Mail und Dokumente
- ResendPDF-Erzeugung über PuppeteerUnterschrift als Canvas-Bild
- Betrieb und Deployment
- Vercelmonatlicher Cron-JobSentryService Worker für die installierbare Web-AppCloudflare Turnstile
Kennzahlen aus dem System
4
Rollen
Eltern, Leiter, Leiter in Freischaltung und Administration, im Datenmodell hinterlegt.
10
Tabellen
Darunter eine eigene Tabelle für Gesundheitsdaten nach Art. 9 DSGVO.
3
Einwilligungen
Getrennt erfasst für Haftung, Foto- und Videonutzung sowie Datenschutz, alle Pflicht.
22
Seiten
13 öffentlich erreichbare Seiten und 9 Seiten in den geschützten Bereichen.
Die Angaben auf dieser Seite beschreiben den Umfang des Systems. Zu meinem Anteil daran gebe ich dir im Gespräch gerne Auskunft.