# Papa-Kind-Treff – Projektkontext Stand: 2026-08-07 ## Kurzbeschreibung Papa-Kind-Treff ist eine PHP-basierte Plattform für Väter. Kernbereiche sind lokale Events, Termine und Treffen, ein Community-Forum, Mitgliederprofile mit optionalen Kinderinfos und ein Moderations-/Adminbereich. ## Wichtige Produktentscheidungen - Die Hauptnavigation ist bewusst knapp gehalten: `Home`, `Event Suche`, `Community`. - `Events` ist der Primärbegriff im Produkt. - `Termine` und `Treffen` werden ergänzend in SEO- und Erklärungstexten genutzt. - Die Community ist hierarchisch aufgebaut: Kategorien -> Boards -> Threads -> Posts. - Moderation ist vom normalen Community-Frontend getrennt. - Standortfunktionen sind relevant für lokale Events, Termine und Treffen. - Die bestehende `events`-Logik bleibt zunächst aktiv, wird aber künftig von einer allgemeineren Listing-/Ort-/Termin-Struktur abgelöst. - Seiten-Admins erhalten eine eigene System-Sektion für globale Betriebs- und Diensteschalter. ## Konto / Mitgliederbereich - Profil-Menü aktuell: `Profil`, `Kinder`, `Events`, `Orte & Veranstaltungen`, `Community`, `Einstellungen`, `Abmelden` - Kinder können angelegt, bearbeitet und gelöscht werden. - Wenn ein Geburtsdatum gesetzt ist, wird das Alter automatisch berechnet und später bei Bedarf aktualisiert. - Die Konto-E-Mail wird app-seitig verschlüsselt gespeichert und über einen separaten HMAC-Lookup-Hash adressiert. - Profiladresse kann per Suche oder Browser-Standort übernommen werden. - Der Bereich `Events` ist wieder auf echte eigene Events und Event-Teilnahmen begrenzt. - Der Bereich `Events` bietet zusätzlich einen manuellen ICS-Export und einen persönlichen abonnierbaren Kalender-Feed für alle eigenen Events und Event-Teilnahmen. - Der Bereich `Events` ist im UI in `Meine Events`, `Kalendersynchronisation` und `Abgelaufene Events` getrennt, damit aktive Events, Kalender-Themen und Vergangenes sauber getrennt bleiben. - In `Meine Events` sitzt der Button `Neues Event anlegen` direkt in der Box `Eigene Events`; die bisherige Teilnahme-Box heißt jetzt `Angemeldete Events` und enthält zusätzlich einen direkten Link zur `Event Suche`. - Orte und Veranstaltungen sind vorerst in einen separaten Mitgliederbereichspunkt `Orte & Veranstaltungen` verschoben. - In `Orte & Veranstaltungen` können Nutzer dauerhafte Orte und zeitlich begrenzte Veranstaltungen neu anlegen. - Neue Orte und Veranstaltungen bleiben bis zur Freigabe im Status `wartet auf Freigabe` und werden erst danach systemweit veröffentlicht. - Änderungs- und Löschwünsche für veröffentlichte Orte und Veranstaltungen laufen immer über eine begründete Moderationsanfrage. - Vorschläge für neue Orte und Veranstaltungen dürfen schon vor der Freigabe als Ortsvorschlag für Events genutzt werden, solange sie noch offen geprüft werden. - Dubletten bei Orten und Veranstaltungen sollen serverseitig mindestens über Namen und Adresse abgefangen werden. - Die Eingabe im Bereich `Events` soll so einfach wie möglich bleiben und zeigt deshalb nur die für echte Termine relevanten Felder. - Kategorien werden im Mitgliederbereich per Sucheingabe mit bestehenden Vorschlägen und automatischer Neuanlage gepflegt. - Eigene Events unterstützen Kategorie, optionales Bild, Ja/Nein-Angabe `Mit Kindern`, optionale Platzzahl und direkte Karten-/Adress-Synchronisierung. ## Technischer Rahmen - eigener Front-Controller in `public/index.php` - Templates unter `partials/` - Geschäftslogik unter `src/App/` - Globales Frontend vor allem über `public/assets/js/app.js` und `public/assets/css/app.css` ## Neue Ausbaustufe: Termin-/Ort-System - Neue Tabellenbasis: `listing_places`, `listings`, `listing_occurrences`, `listing_prices`, `listing_benefits`, `listing_categories` - Ziel: spätere Unterscheidung zwischen eigenem Event, Partner-Angebot, allgemeinem Ort und redaktionellem Termin - Google ist noch nicht aktiv integriert; das System wird nur vorbereitend über Settings und Datenfelder darauf ausgelegt ## Vorgemerkte To-dos - Kalender-Integration großer Anbieter soll später zusätzlich zum ICS-Feed kommen, zuerst vor allem für Google und Microsoft/Outlook. - Zielbild dafür ist keine Rücksynchronisierung, sondern ein nutzerseitiges OAuth-Login über Papa-Kind-Treff und danach eine direkte Kalender-Verknüpfung oder Event-Synchronisierung beim jeweiligen Anbieter. ## Pflegehinweis Bei Änderungen immer auch die parallelen Dateien in `Internal/en/` prüfen und inhaltlich gleichziehen. ## Dokumentationsprinzip - `Internal/de/` und `Internal/en/` werden bewusst parallel gepflegt. - Die Root-`README.md` dient als Start-Doku für neue Chats und muss bei grundlegenden Änderungen ebenfalls mitgeprüft werden.