All checks were successful
Deploy / deploy (push) Successful in 1m0s
59 lines
3.0 KiB
Markdown
59 lines
3.0 KiB
Markdown
# Papa-Kind-Treff
|
|
|
|
Updated: 2026-08-04
|
|
|
|
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
|
|
- 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` now supports three creation types: `Own Event`, `Place`, and `Other Event`
|
|
- own events now include category, optional image, explicit child suitability, optional capacity, and server-side validated address data
|
|
- places and other events now use adaptive forms with place lookup, browser address pickup, server-side address validation, flexible pricing rules, flexible opening/time slots, and image upload
|
|
|
|
## 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`
|
|
- 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
|
|
- 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.
|