# Papa-Kind-Treff – Projektkontext Stand: 2026-08-03 ## 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`, `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. - Im Bereich `Events` gibt es jetzt zunächst drei Eintragstypen: eigenes Event, Ort und sonstige Veranstaltung. - `Ort` blendet Datum aus und erlaubt stattdessen Öffnungszeiten/Hinweise. - `Sonstige Veranstaltung` unterstützt Uhrzeit und erste Wiederholungsmodelle wie täglich, wöchentlich oder bestimmte Wochentage. - Preisangaben für Orte und sonstige Veranstaltungen werden als strukturierte Einträge für Kinder- und Erwachsenenpreise gespeichert. ## 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 ## 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.