Files
papa-kind-treff.info/Internal/en/README.md
Lars Gebhardt-Kusche a102b2aa0c
All checks were successful
Deploy / deploy (push) Successful in 56s
last change
2026-08-07 23:43:36 +02:00

63 lines
3.4 KiB
Markdown

# Papa-Kind-Treff
Updated: 2026-08-05
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`, `Outings`, `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` is now limited again to real own events and event participations
- own events now include category, optional image, explicit child suitability, optional capacity, and more direct map/address synchronization
- places and other events were moved for now into a separate member-area section `Outings`
- 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: `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.