All checks were successful
Deploy / deploy (push) Successful in 1m7s
80 lines
3.7 KiB
Markdown
80 lines
3.7 KiB
Markdown
# Papa-Kind-Treff
|
|
|
|
Stand: 2026-07-27
|
|
|
|
Papa-Kind-Treff ist eine PHP-basierte Plattform für Väter mit Fokus auf lokale Treffen, Community-Austausch und einen geschützten Mitgliederbereich.
|
|
|
|
## Produktumfang
|
|
- lokale Events und Treffen finden
|
|
- Community/Forum mit Kategorien, Boards, Threads und Antworten
|
|
- Mitgliederbereich für Profil, optionale Kinderinfos und eigene Termine
|
|
- Community-Moderation mit Rollenmodell
|
|
|
|
## Aktueller Stand
|
|
- Startseite mit Hero, Suche, Event-Karussell, Community-Vorschau und Mitgliederbereichs-Block
|
|
- Community mit Board-Navigation und separater Thread-Ansicht
|
|
- Community-Admin-Bereich für Bewerbungen, Meldungen, Rollen und Migration
|
|
- Impressum, Datenschutz-&-Cookies-Seite und Über-uns
|
|
- standortbasierte Sortierung für die neuesten Treffen
|
|
- eigener Einstellungsbereich für Standortfreigabe, Browser-Hinweise und Consent-Verwaltung
|
|
- modernes Avatar-System mit zentraler Mehr-Style-Architektur auf Basis von DiceBear
|
|
- aktiver Avatar-Style aktuell: `lorelei`; weitere Styles können über `config/avatar.php` freigeschaltet werden
|
|
- Profilbild-Generator mit visueller Komponenten-Auswahl, generischem Style-/Seed-/Config-Speichermodell und `Random Profilbild`
|
|
- jedes gespeicherte Profilbild wird als lokale Benutzer-SVG unter `public/assets/avatars/users/ptk-<userId>.svg` abgelegt
|
|
- Consent-Manager für Analyse und externe Dienste
|
|
- Navigation aktuell mit `Home`, `Suche`, `Community`
|
|
- eingeloggte Nutzer sehen rechts ein Profil-Menü mit Direktlinks zu `Profil`, `Kinder`, `Termine`, `Community`, `Einstellungen`
|
|
- der Mitgliederbereich ist als Seitenlayout mit linker Bereichsnavigation aufgebaut
|
|
- Debug-Floating-Button nur für `site_admin` im Debug-Modus
|
|
|
|
## Technik
|
|
- Einstieg: `public/index.php`
|
|
- Templates: `partials/`
|
|
- App-Logik: `src/App/`
|
|
- Assets: `public/assets/`
|
|
- Datenbankschema: `schema.sql`
|
|
|
|
## Rollen
|
|
- `forum_admin`
|
|
- `site_admin`
|
|
- `owner`
|
|
|
|
Die Rechteverteilung und Community-Logik sind in `src/App/CommunityAccess.php` abgebildet.
|
|
Die zentrale Avatar-Verwaltung liegt in `src/App/Avatar/AvatarManager.php`.
|
|
Der aktuell aktive Style `Lorelei` liegt in `src/App/Avatar/Lorelei.php`.
|
|
Die Style-/Storage-Konfiguration liegt in `config/avatar.php`.
|
|
Der direkte Avatar-Endpunkt liegt in `public/api/avatar.php`.
|
|
Die visuelle Avatar-Auswahl sitzt im Dashboard-Modal in `partials/landing/account/dashboard.php`.
|
|
Beim Oeffnen des Generators werden nur die Varianten des aktuell aktiven Styles und Tabs geladen; weitere Varianten werden erst beim Wechsel nachgeladen.
|
|
|
|
## Consent und rechtlich relevante Integrationen
|
|
Der aktuelle Code nutzt oder kann nutzen:
|
|
- notwendige Session-/Client-Cookies
|
|
- Matomo (`analytics`)
|
|
- Browser-Geolocation (`external_services`)
|
|
- lokale Standortspeicherung via Cookie, `localStorage`, `sessionStorage` (`external_services`)
|
|
- Leaflet von `unpkg.com` (`external_services`)
|
|
- OpenStreetMap Nominatim (`external_services`)
|
|
- DiceBear fuer serverseitig erzeugte Profilbilder; das Ergebnis wird lokal als Benutzer-SVG gespeichert
|
|
|
|
Wichtig:
|
|
- Nicht notwendige Analyse- und Drittanbieterfunktionen dürfen erst nach Einwilligung aktiv werden.
|
|
- Änderungen an Cookies, Tracking oder Drittanbietern müssen immer auch in Consent und rechtlichen Hinweisen nachgezogen werden.
|
|
|
|
## Dokumentationspflicht bei Änderungen
|
|
Bei jeder Änderung im Projekt immer mitprüfen und bei Bedarf aktualisieren:
|
|
- `README.md`
|
|
- `.projektstructure.txt`
|
|
- `PROJECT_CONTEXT.md`
|
|
|
|
Zusätzlich bei neuen Cookies, Tracking-Mechanismen oder Drittanbietern:
|
|
- Consent-Manager anpassen
|
|
- rechtliche Hinweise/Datenschutztexte ergänzen
|
|
- technische Opt-in-/Opt-out-Logik prüfen
|
|
|
|
## Dateien für neue Chats
|
|
Für spätere Chats als Einstieg besonders wichtig:
|
|
- `README.md`
|
|
- `.projektstructure.txt`
|
|
- `PROJECT_CONTEXT.md`
|