yxcyxc
All checks were successful
Deploy / deploy (push) Successful in 1m3s

This commit is contained in:
2026-08-03 23:27:35 +02:00
parent faf614010d
commit fc34e87622
17 changed files with 326 additions and 294 deletions

22
Internal/README.md Normal file
View File

@@ -0,0 +1,22 @@
# Internal Documentation
Updated: 2026-08-03
Canonical internal project documentation lives in this directory.
## Directory Structure
- `de/README.md`
- `de/PROJECT_CONTEXT.md`
- `de/PROJECT_STRUCTURE.md`
- `en/README.md`
- `en/PROJECT_CONTEXT.md`
- `en/PROJECT_STRUCTURE.md`
## Maintenance Rule
- German and English documentation must be maintained as fully parallel references.
- Changes to project behavior, structure, wording, privacy, security, or product decisions must be reflected in both language sets.
- The root `README.md` remains in the project root as the mandatory start document for new chats.
## Scope Rule
- Public-facing website copy does not belong here.
- `Internal/` is only for internal project, product, architecture, and maintenance documentation.

View File

@@ -0,0 +1,34 @@
# 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.
## 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.
## 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`
## 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.

View File

@@ -0,0 +1,29 @@
# Papa-Kind-Treff Projektstruktur
Stand: 2026-08-03
## Projektordner
- `config/`: Konfigurationen, inklusive `prod/` und `staging/`
- `partials/`: Templates, aufgeteilt in `landing/` und `structure/`
- `public/`: Webroot mit Assets und Seiten-Entry-Points
- `src/`: Backend-/Business-Logik und Kernklassen
- `debug/`: Debug-Hilfen und Logs
- `api/`: technische Endpunkte
- `Internal/`: interne Projektdokumentation in Deutsch und Englisch
## Aktuelle Strukturhinweise
- Avatar-Verwaltung: `src/App/Avatar/AvatarManager.php`
- aktive Styles: `src/App/Avatar/Lorelei.php`, `src/App/Avatar/Croodles.php`
- Profil-/Kinder-/Event-Logik im Mitgliederbereich: `partials/landing/account/dashboard.php`
- Consent- und rechtliche Texte: `public/page/datenschutz.php`
## Dokumentationsregel
Kanonische interne Dokumentation:
- `Internal/de/README.md`
- `Internal/de/PROJECT_CONTEXT.md`
- `Internal/de/PROJECT_STRUCTURE.md`
- entsprechende englische Spiegel unter `Internal/en/`
Zusätzlich:
- `README.md` im Hauptordner bleibt als Start-Doku für neue Chats bestehen.
- Änderungen an der internen Struktur müssen immer in Deutsch und Englisch parallel dokumentiert werden.

53
Internal/de/README.md Normal file
View File

@@ -0,0 +1,53 @@
# Papa-Kind-Treff
Stand: 2026-08-03
Papa-Kind-Treff ist eine PHP-basierte Plattform für Väter mit Fokus auf lokale Events, Termine und Treffen, Community-Austausch und einen geschützten Mitgliederbereich.
## Produktumfang
- lokale Events, Termine und Treffen finden
- Community/Forum mit Kategorien, Boards, Threads und Antworten
- Mitgliederbereich für Profil, optionale Kinderinfos und eigene Events
- Community-Moderation mit Rollenmodell
## Aktueller Stand
- Startseite mit Hero, Event-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
- standortbasierte Sortierung für die neuesten Events
- Mitgliederbereich mit linker Bereichsnavigation
- Profil-Menü mit `Profil`, `Kinder`, `Events`, `Community`, `Einstellungen`
- Konto-E-Mails sowie sensible Profilfelder werden app-seitig verschlüsselt gespeichert
- Kinder können angelegt, bearbeitet und gelöscht werden
- Profiladresse mit verschlüsselter Straße/Hausnummer, Adresssuche, Browser-Übernahme und Validierung
## Wording-Regel
- Primärbegriff im Produkt: `Events`
- Ergänzende SEO-/Erklärbegriffe: `Termine`, `Treffen`
- Navigation, Buttons und Kern-UI verwenden konsequent `Events`
## Technik
- Einstieg: `public/index.php`
- Templates: `partials/`
- App-Logik: `src/App/`
- Assets: `public/assets/`
- Datenbankschema: `schema.sql`
## Datenschutz und Sicherheit
- Passwort-Hashes über Argon2id
- Konto-E-Mails verschlüsselt plus separater HMAC-Lookup-Hash
- Profilfelder wie Vorname, Nachname, Straße/Hausnummer, Telefonnummer, Beruf, Sprachen und Kurzvorstellung verschlüsselt
- Standortkoordinaten (`lat`, `lng`) bleiben für Distanz- und Umkreissuchen technisch im Klartext
- nicht notwendige Analyse- und Drittanbieterfunktionen erst nach Einwilligung aktiv
## Dokumentationspflicht bei Änderungen
Bei jeder Änderung im Projekt mitprüfen und bei Bedarf aktualisieren:
- `Internal/de/README.md`
- `Internal/de/PROJECT_CONTEXT.md`
- `Internal/de/PROJECT_STRUCTURE.md`
- die parallelen englischen Dateien unter `Internal/en/`
## Parallelpflege DE / EN
- Die Dokumentation in `Internal/de/` und `Internal/en/` ist inhaltlich vollständig parallel zu halten.
- Deutsch und Englisch sind beide verbindliche interne Referenzen.
- Die Root-`README.md` im Hauptordner bleibt der feste Einstieg für neue Chats und verweist auf diese Struktur.

View File

@@ -0,0 +1,31 @@
# Papa-Kind-Treff Project Context
Updated: 2026-08-03
## Summary
Papa-Kind-Treff is a PHP-based platform for fathers. Core areas are local events, appointments, and meetups, a community forum, member profiles with optional child information, and a moderation/admin area.
## Key Product Decisions
- Main navigation remains intentionally compact: `Home`, `Event Search`, `Community`.
- `Events` is the primary product term across the UI.
- Secondary wording is used only in SEO and explanatory copy.
- The community is hierarchical: categories -> boards -> threads -> posts.
- Moderation is separated from the normal community frontend.
- Location features are important for local discovery.
## Account / Member Area
- Profile menu currently contains `Profile`, `Children`, `Events`, `Community`, `Settings`, `Logout`.
- Children can be created, edited, and deleted.
- If a birth date is set, age is calculated automatically and updated later when needed.
- Account email is encrypted application-side and addressed through a separate HMAC lookup hash.
- Profile address can be completed via address search or browser-based location import.
## Technical Frame
- custom front controller in `public/index.php`
- templates under `partials/`
- business logic under `src/App/`
- global frontend mainly via `public/assets/js/app.js` and `public/assets/css/app.css`
## Maintenance Note
- Whenever one of these files changes, the matching files in `Internal/de/` and `Internal/en/` must be kept aligned.
- The root `README.md` acts as the startup document for new chats and should be reviewed alongside major context changes.

View File

@@ -0,0 +1,23 @@
# Papa-Kind-Treff Project Structure
Updated: 2026-08-03
## Main Directories
- `config/`: configuration, including `prod/` and `staging/`
- `partials/`: templates split into `landing/` and `structure/`
- `public/`: webroot, assets, and page entry points
- `src/`: backend and business logic
- `debug/`: debugging helpers and logs
- `api/`: technical endpoints
- `Internal/`: internal documentation in German and English
## Current Structure Notes
- avatar management: `src/App/Avatar/AvatarManager.php`
- active avatar styles: `src/App/Avatar/Lorelei.php`, `src/App/Avatar/Croodles.php`
- profile/children/event logic inside member area: `partials/landing/account/dashboard.php`
- consent and legal texts: `public/page/datenschutz.php`
## Documentation Rule
- canonical internal documentation lives in `Internal/de/` and `Internal/en/`
- `README.md` in the project root remains as the startup document for new chats
- structural changes must always be documented in German and English in parallel

52
Internal/en/README.md Normal file
View File

@@ -0,0 +1,52 @@
# Papa-Kind-Treff
Updated: 2026-08-03
Papa-Kind-Treff is a PHP-based platform for fathers focused on local events, appointments, and meetups, community exchange, and a protected member area.
## Scope
- discover local events, appointments, and meetups
- community/forum with categories, boards, threads, and replies
- member area for profile, optional child information, and own events
- community moderation with a role model
## Current State
- landing page with hero, event search, event carousel, community preview, and member-area block
- community with board navigation and separate thread view
- community admin area for applications, reports, roles, and migrations
- location-based ordering for the newest events
- member area with left-side section navigation
- profile menu with `Profile`, `Children`, `Events`, `Community`, `Settings`
- account emails and sensitive profile fields are stored encrypted application-side
- children can be created, edited, and deleted
- profile address supports encrypted street/house number, address search, browser import, and validation
## Core Wording Rule
- Primary product term: `Events`
- Secondary SEO/explanatory terms: `Appointments`, `Meetups`
## Tech
- entry point: `public/index.php`
- templates: `partials/`
- application logic: `src/App/`
- assets: `public/assets/`
- database schema: `schema.sql`
## Privacy and Security
- password hashes via Argon2id
- account emails are encrypted and additionally addressed through a separate HMAC lookup hash
- profile fields such as first name, last name, street/house number, phone number, profession, languages, and short bio are encrypted
- location coordinates (`lat`, `lng`) remain plaintext where technically required for distance and radius search
- non-essential analytics and third-party services are only active after consent
## Documentation Rule
Whenever project behavior or structure changes, review and update:
- `Internal/de/README.md`
- `Internal/de/PROJECT_CONTEXT.md`
- `Internal/de/PROJECT_STRUCTURE.md`
- matching English files under `Internal/en/`
## Parallel DE / EN Maintenance
- Documentation in `Internal/de/` and `Internal/en/` must remain fully parallel in content.
- German and English are both binding internal references.
- The root `README.md` remains the fixed start document for new chats and must be reviewed when core project assumptions change.