This commit is contained in:
22
Internal/README.md
Normal file
22
Internal/README.md
Normal 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.
|
||||
34
Internal/de/PROJECT_CONTEXT.md
Normal file
34
Internal/de/PROJECT_CONTEXT.md
Normal 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.
|
||||
29
Internal/de/PROJECT_STRUCTURE.md
Normal file
29
Internal/de/PROJECT_STRUCTURE.md
Normal 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
53
Internal/de/README.md
Normal 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.
|
||||
31
Internal/en/PROJECT_CONTEXT.md
Normal file
31
Internal/en/PROJECT_CONTEXT.md
Normal 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.
|
||||
23
Internal/en/PROJECT_STRUCTURE.md
Normal file
23
Internal/en/PROJECT_STRUCTURE.md
Normal 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
52
Internal/en/README.md
Normal 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.
|
||||
Reference in New Issue
Block a user