47 lines
3.1 KiB
Markdown
47 lines
3.1 KiB
Markdown
# Papa-Kind-Treff – Projektkontext
|
||
|
||
Stand: 2026-08-05
|
||
|
||
## 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`, `Ausflugsziele`, `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.
|
||
- Orte und Veranstaltungen als Ausflugsziele sind vorerst in einen separaten Mitgliederbereichspunkt `Ausflugsziele` verschoben.
|
||
- 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
|
||
|
||
## 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.
|