69 lines
5.0 KiB
Markdown
69 lines
5.0 KiB
Markdown
# Papa-Kind-Treff – Start-Doku
|
||
|
||
Stand: 2026-08-10
|
||
|
||
Diese Datei ist die zentrale Start-Doku für neue Chats und den schnellen Projekteinstieg.
|
||
|
||
## Für neue Chats
|
||
Für neue Chats reicht es, zuerst diese Datei zu nennen und lesen zu lassen.
|
||
Diese Datei ist der verbindliche Root-Einstieg und verweist auf alle weiteren Pflichtdokumente unter `Internal/`.
|
||
|
||
Danach muss die kanonische interne Dokumentation unter `Internal/` vollständig geprüft werden.
|
||
|
||
Verbindliche deutsche Referenz:
|
||
- `Internal/de/README.md`
|
||
- `Internal/de/PROJECT_CONTEXT.md`
|
||
- `Internal/de/PROJECT_STRUCTURE.md`
|
||
|
||
Parallele englische Referenz:
|
||
- `Internal/en/README.md`
|
||
- `Internal/en/PROJECT_CONTEXT.md`
|
||
- `Internal/en/PROJECT_STRUCTURE.md`
|
||
|
||
## Dokumentationsregel
|
||
- Die Dokumentation unter `Internal/de/` und `Internal/en/` ist vollständig parallel zu pflegen.
|
||
- Änderungen an Projektstand, Struktur, Wording, Datenschutz, Sicherheit oder Produktverhalten müssen immer in Deutsch und Englisch nachgezogen werden.
|
||
- Die Root-`README.md` bleibt bewusst im Hauptordner, damit sie in neuen Chats direkt als Einstieg genannt werden kann.
|
||
|
||
## Kurzüberblick Projekt
|
||
Papa-Kind-Treff ist eine PHP-basierte Plattform für Väter mit Fokus auf:
|
||
- lokale Events, Termine und Treffen
|
||
- Community-Austausch
|
||
- geschützten Mitgliederbereich mit Profil, Kinderinfos und eigenen Events
|
||
- neue Basis für ein übergreifendes Termin-, Ort- und Veranstaltungssystem
|
||
|
||
## Wichtige aktuelle Produktregeln
|
||
- Primärbegriff im Produkt: `Events`
|
||
- `Termine` und `Treffen` ergänzend in SEO- und Erklärungstexten
|
||
- Hauptnavigation aktuell: `Home`, `Event Suche`, `Community`
|
||
- Profil-Menü aktuell: `Profil`, `Kinder`, `Events`, `Orte & Veranstaltungen`, `Community`, `Einstellungen`, `Abmelden`
|
||
- neue interne Grundstruktur: `listing_places`, `listings`, `listing_occurrences`, `listing_prices`, `listing_benefits`
|
||
- Seiten-Admins haben zusätzlich eine System-Sektion für globale Wartungs- und Diensteschalter
|
||
- Im Mitgliederbereich ist `Events` jetzt wieder auf echte eigene Events und Event-Teilnahmen beschränkt
|
||
- Orte und sonstige Veranstaltungen laufen jetzt separat unter `Orte & Veranstaltungen`
|
||
- Neue Orte und Veranstaltungen müssen vor Veröffentlichung erst durch einen Admin freigegeben werden; Änderungs- und Löschwünsche laufen ebenfalls als begründete Anfrage
|
||
- Eigene Events unterstützen aktuell optionalen Beschreibungstext, klare Kinderangabe, optionale Platzzahl, Bild-Upload sowie eine Location aus Datenbank oder benutzerdefinierte Adresse
|
||
- Bei eigener Event-Location aus der Datenbank werden Adresse und Kategorie nur informativ aus dem gewählten Ort bzw. der gewählten Veranstaltung übernommen und nicht manuell geändert
|
||
- Aus dem Formular für eigene Events kann direkt in das Anlegen eines neuen Orts oder einer neuen Veranstaltung verzweigt werden
|
||
- Wenn aus einem eigenen Event heraus ein neuer Ort oder eine neue Veranstaltung angelegt wird, kehrt der Ablauf danach wieder in das Event zurück und wählt den neuen Eintrag direkt vor
|
||
- Die Eingabe im Mitgliederbereich ist jetzt bewusst vereinfacht: zuerst nur Pflichtangaben, optionale Angaben in einklappbaren Bereichen
|
||
- Kategorien werden jetzt über eine Sucheingabe mit bestehenden Vorschlägen gepflegt; neue Kategorien werden automatisch angelegt und sind für Seiten-Admins im Systembereich zusammenführbar
|
||
- Im Mitgliederbereich `Events` gibt es jetzt zusätzlich einen ICS-Download und einen persönlichen abonnierbaren Kalender-Feed für alle eigenen Events und Event-Teilnahmen
|
||
- Der Bereich `Events` ist im Mitgliederbereich jetzt zusätzlich in die Tabs `Meine Events`, `Kalendersynchronisation` und `Abgelaufene Events` gegliedert
|
||
- Vorschläge für neue Orte und Veranstaltungen werden schon vor der Freigabe als mögliche Ortsauswahl für Events berücksichtigt, solange sie nicht abgelehnt oder archiviert wurden
|
||
- Für später vorgemerkt: direkte Kalender-Anbindung großer Anbieter wie Google und Microsoft/Outlook per OAuth, zusätzlich zum bestehenden ICS-Feed
|
||
- Interne Projektdateien und das Datenbankschema liegen nicht mehr im Root, sondern unter `Internal/`
|
||
|
||
## Datenschutz und Sicherheit
|
||
- sensible Profilfelder werden app-seitig verschlüsselt gespeichert
|
||
- Konto-E-Mails werden verschlüsselt gespeichert und zusätzlich über einen separaten HMAC-Lookup-Hash adressiert
|
||
- persönliche Kalender-Feed-Tokens werden verschlüsselt gespeichert und zusätzlich über einen separaten SHA-256-Lookup-Hash adressiert
|
||
- Standortkoordinaten bleiben technisch im Klartext, soweit sie für Distanz- und Umkreissuchen erforderlich sind
|
||
- Änderungen an Cookies, LocalStorage, SessionStorage, Geolocation, Tracking oder Drittanbietern erfordern immer auch die Prüfung und Aktualisierung von Consent und rechtlichen Hinweisen
|
||
|
||
## Hinweis zur internen Ablage
|
||
- Endnutzertexte, Landingpages und UI gehören nicht nach `Internal/`
|
||
- `Internal/` ist ausschließlich für interne Projekt- und Systemdokumentation gedacht
|
||
- Das Datenbankschema liegt unter `Internal/db/schema.sql`
|
||
- Alte frühere Root-Dokumente wurden nach `Internal/archive/legacy-root-files/` verschoben
|