# Papa-Kind-Treff Updated: 2026-08-10 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 - top-right profile menu with `Profile` and, for authorized users, `Admin Settings` - profile area for personal information, children, own events, own places and event-style entries, settings, and community information - separate admin area for profile levels, categories, system settings, and moderation and approvals for places and event-style entries - 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 - system section for site admins with maintenance and service toggles - new data foundation prepared for a broader event, place, and listing system - member area `Events` is now limited again to real own events and event participations - own events now support an optional description, explicit child suitability, optional capacity, an optional image, and either a database-backed location or a custom address - when an own event uses a database-backed location, address and category are shown as informational values and are not edited directly inside the event - when a user creates a new place or event-style listing from inside an own event, the flow returns to that event afterwards and preselects the newly created entry - places and other event-style entries were moved for now into a separate member-area section `Places & Events` - new places and event-style entries must be approved by an admin before publication; change and deletion wishes also run as reasoned requests - not-yet-published place and event-style suggestions can be edited directly in the member area - `SiteOwner` fully inherits the place and event approval rights from `Forum Admin` - the member-area entry forms now follow a progressive approach: required fields first, optional data inside collapsible sections - categories now use a search input with existing suggestions; new categories are created automatically and can be merged by site admins in the system area - the `Events` area now also includes an ICS download and a personal subscribable calendar feed for all own events and event participations ## 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: `Internal/db/schema.sql` - new base classes: `src/App/SystemSettings.php`, `src/App/ListingCatalog.php` ## Privacy and Security - password hashes via Argon2id - account emails are encrypted and additionally addressed through a separate HMAC lookup hash - personal calendar-feed tokens are stored encrypted and additionally resolved through a separate SHA-256 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. ## Root Rule - In the root directory, only `README.md` remains as the content entry point for new chats. - Former root documentation files were moved to `Internal/archive/legacy-root-files/`.