Papa-Kind-Treff – Projektstruktur und Pflegehinweise Stand: 2026-07-22 1. Zweck - Plattform für Väter mit Fokus auf lokale Treffen, Community/Forum, Mitgliederbereich und spätere Liveschaltung. - Sprache und Tonalität im Frontend: freundlich, direkt, nutzerzentriert. 2. Zentrale Einstiegspunkte - `public/index.php` Front-Controller, Routing auf `public/page/*`, Staging-Basic-Auth, Layout-Steuerung. - `partials/structure/layout_start.php` Globale Assets, Body-Datasets, Consent-UI, Navigation, globale Modale. - `partials/structure/layout_end.php` Footer und Footer-Assets. 3. Wichtige Verzeichnisse - `public/page/` Route-Dateien. Wichtige Seiten: - `index.php` Startseite - `search.php` Suche - `community.php` Community-Übersicht - `community_thread.php` Thread-Ansicht - `dashboard.php` Mitgliederbereich - `community-admin.php` Moderation/Admin - `impressum.php`, `datenschutz.php`, `ueber-uns.php` - `api/location-preference.php` API zum Speichern der Standortpräferenz - `partials/landing/main/` Startseiten-Blöcke. - `partials/landing/community/` Community-Templates inkl. Sidebar-Navigation. - `partials/landing/account/` Dashboard, Community-Admin, Login/Register. - `partials/structure/` Layout, Navigation, Footer, Matomo-Konfiguration. - `src/App/` Geschäftslogik und Services. 4. Relevante App-Klassen - `src/App/AccountPages.php` Dashboard-/Profil-Logik, Event-Anlage, Community-Bewerbung, Migration. - `src/App/Community.php` Boards, Threads, Posts, Forenstruktur, Punkte. - `src/App/CommunityAccess.php` Rollen, Bewerbungen, Meldungen, Moderation, Restrictions. - `src/App/CommunityMigration.php` DB-Erweiterungen für Community-Funktionen. - `src/App/ProfileSettings.php` Persistente Profileinstellungen für Standortfreigabe. - `src/App/Search.php` Eventsuche inkl. Distanzfilter. 5. Frontend-Assets - `public/assets/js/app.js` Globale UI-Logik, Slider, Geolocation, Consent-Manager, Matomo-Opt-in. - `public/assets/css/app.css` Globales UI-Styling inkl. Community, Footer, Consent. - `public/assets/css/styles.css` Basis-Styles. 6. Aktueller Funktionsstand - Startseite mit Hero, Suche, neueste Treffen, Community-Vorschau, Mitgliederbereich. - Hauptnavigation aktuell reduziert auf `Home`, `Suche`, `Community`. - Für eingeloggte Nutzer gibt es rechts ein Profil-Dropdown mit Direktlinks zu `Profil`, `Kinder`, `Termine`, `Community`, `Einstellungen`, `Abmelden`. - Kein eigener Top-Level-Punkt `Termine`; Event-Fokus liegt derzeit auf Startseite und Suche. - Community mit Kategorien, Boards, Thread-Liste, Thread-Ansicht, Rollen-/Moderationslogik. - Mitgliederbereich als Bereichslayout mit linker Navigation und separaten Seiten für Profil, Kinder, Termine, Community und Einstellungen. - Community-Admin-Bereich für Bewerbungen, Meldungen, Rollen und Migration. - Impressum, Datenschutz-&-Cookies-Seite und Über-uns vorhanden. - Standortsortierung auf der Startseite für Treffen in der Nähe. - Standortpräferenz im Einstellungsbereich: - `disabled` - `prompt` - `enabled` - Im Einstellungsbereich stehen zusätzlich Browser-Hinweise zur Standortfreigabe sowie der Einstieg in die Consent-Verwaltung. - Consent-Manager: - notwendige Cookies immer aktiv - `analytics` für Matomo - `external_services` für Standort/Karten/Leaflet/Nominatim 7. Rollenmodell Community - normaler Nutzer - schreiben, antworten, bewerten, melden - `forum_admin` - Themen/Beiträge bearbeiten und löschen - Meldungen prüfen - Community-Schreibsperren setzen - `site_admin` - alles wie `forum_admin` - Bewerbungen prüfen - Community-Migration - `owner` - alles wie `site_admin` - Rollen vergeben/entziehen 8. Externe Dienste und rechtlich relevante Punkte - Matomo (`matomo.my-statistics.info`) nur nach Consent `analytics`. - Leaflet via `unpkg.com` nur nach Consent `external_services`. - OpenStreetMap Nominatim für Geocoding/Reverse-Geocoding nur nach Consent `external_services` bei Browserfunktionen. - Browser-Geolocation und lokale Standortspeicherung nur nach Consent `external_services` und zusätzlicher Standortpräferenz. - Jede neue Einbindung von Cookies, LocalStorage, SessionStorage, Tracking, externen Skripten, APIs oder Drittanbietern muss: - technisch im Consent-Manager berücksichtigt werden - in `README.md` dokumentiert werden - in dieser Datei vermerkt werden - in den rechtlich notwendigen Hinweisen/Datenschutztexten ergänzt werden 9. Pflicht bei zukünftigen Änderungen - Bei jeder funktionalen Änderung immer mitprüfen und bei Bedarf aktualisieren: - `README.md` - `.projectstructure.txt` - `PROJECT_CONTEXT.md` - Bei neuen Cookies, Tracking-Mechanismen oder Drittanbietern zusätzlich: - Consent-Logik anpassen - rechtliche Texte/Hinweise ergänzen - Opt-in/Opt-out technisch verifizieren - Änderungen an Navigation, Nutzerführung oder Rollenanzeige ebenfalls in dieser Datei, `README.md` und `PROJECT_CONTEXT.md` mitführen.