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

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.