50 lines
3.4 KiB
Markdown
50 lines
3.4 KiB
Markdown
# Papa-Kind-Treff – Project Context
|
||
|
||
Updated: 2026-08-07
|
||
|
||
## 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`, `Outings`, `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 is limited again to real own events and event participations.
|
||
- The `Events` area now also provides a manual ICS export and a personal subscribable calendar feed for all own events and event participations.
|
||
- The `Events` area is now separated in the UI into `My Events` and `Synchronization` so that event management and calendar tasks stay clearly separated.
|
||
- Places and event-like outing targets were moved for now into a separate member-area section `Outings`.
|
||
- The `Events` input flow should stay as simple as possible and therefore only shows fields relevant for real scheduled events.
|
||
- Categories in the member area are handled via a search input with existing suggestions and automatic creation when needed.
|
||
- Own events support category, optional image, a clear `with children` yes/no field, optional capacity, and direct map/address synchronization.
|
||
|
||
## 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
|
||
|
||
## Deferred To-dos
|
||
- Large calendar-provider integrations should be added later in addition to the ICS feed, starting primarily with Google and Microsoft/Outlook.
|
||
- The target model is no reverse sync, but a user-side OAuth login through Papa-Kind-Treff followed by a direct calendar connection or event synchronization at the respective provider.
|
||
|
||
## 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.
|