All checks were successful
Deploy / deploy (push) Successful in 1m2s
44 lines
2.9 KiB
Markdown
44 lines
2.9 KiB
Markdown
# Papa-Kind-Treff – Project Context
|
||
|
||
Updated: 2026-08-04
|
||
|
||
## 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.
|
||
- The existing `events` logic remains active for now, but future growth should move toward a broader listing, place, and occurrence model.
|
||
- Site admins get a dedicated system section for global operating and service flags.
|
||
|
||
## 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.
|
||
- The `Events` area now distinguishes between own events, places, and other time-limited event entries.
|
||
- The `Events` input flow should stay as simple as possible and therefore shows required fields first.
|
||
- Own events support category, optional image, a clear `with children` yes/no field, optional capacity, and visibility.
|
||
- `Place` uses the same address flow as the profile, hides the event date, and instead supports flexible opening/time slots, optional contact data, and flexible pricing rules.
|
||
- `Other Event` also uses the profile-style address flow, supports recurrence, a required `valid until` field, flexible pricing rules, image upload, and a `with children` flag.
|
||
|
||
## 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`
|
||
|
||
## New Expansion Stage: Listings and Places
|
||
- New table base: `listing_places`, `listings`, `listing_occurrences`, `listing_prices`, `listing_benefits`, `listing_categories`
|
||
- Goal: later distinguish between own event, partner offer, general place, and editorial event entry
|
||
- Google is not integrated productively yet; the system is only being prepared for it via settings and data fields
|
||
|
||
## 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.
|