4.7 KiB
4.7 KiB
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. Eventsis 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
eventslogic 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,Places & 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
Eventsarea is limited again to real own events and event participations. - The
Eventsarea now also provides a manual ICS export and a personal subscribable calendar feed for all own events and event participations. - The
Eventsarea is now separated in the UI intoMy Events,Calendar Sync, andExpired Eventsso that active events, calendar tasks, and past items stay clearly separated. - Inside
My Events, theCreate New Eventbutton now lives directly in the upper tab row; the previous participation box is now labeledRegistered Eventsand also includes a direct link toEvent Search. - Places and event-like entries were moved for now into a separate member-area section
Places & Events. - Inside
Places & Events, users can create permanent places and time-limited event-style entries. - New places and event-style entries stay in a pending state until an admin approves them for publication.
- Change and deletion wishes for published places and event-style entries always run through a reasoned moderation request.
- Pending new places and event-style entries can already be used as location suggestions for events while they are still under review.
- Duplicate submissions for places and event-style entries should be blocked server-side at least by name and address.
- The
Eventsinput flow should stay as simple as possible and therefore only shows fields relevant for real scheduled events. - Own events now only require title, date, and the
with childrenchoice; the description is optional. - Event locations now support the modes
place from database,event from database, orcustom. - When a database-backed place or event is selected, the address and category are taken directly from that source entry.
- When
event from databaseis selected, the event date must fall inside that source event's valid date window. - Categories in the member area are handled via a search input with existing suggestions and automatic creation when needed.
- Own events support an optional description, a clear
with childrenyes/no field, optional capacity, an optional image, and either a database-backed location or a custom address.
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.jsandpublic/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/andInternal/en/must be kept aligned. - The root
README.mdacts as the startup document for new chats and should be reviewed alongside major context changes.