46 lines
4.4 KiB
Markdown
46 lines
4.4 KiB
Markdown
# Papa-Kind-Treff – Project Structure
|
||
|
||
Updated: 2026-08-10
|
||
|
||
## Main Directories
|
||
- `config/`: configuration, including `prod/` and `staging/`
|
||
- `config/secrets.local.php`: local, unversioned server secrets outside the webroot; template: `config/secrets.local.php.example`
|
||
- `config/.htaccess`: additional web-server protection for the entire configuration directory; both deployment workflows explicitly exclude `secrets.local.php` from synchronizing deletion.
|
||
- `partials/`: templates split into `landing/` and `structure/`
|
||
- `public/`: webroot, assets, and page entry points
|
||
- `src/`: backend and business logic
|
||
- `debug/`: debugging helpers and logs
|
||
- `api/`: technical endpoints
|
||
- `Internal/`: internal documentation in German and English
|
||
- `Internal/db/`: internal database schema
|
||
- `Internal/archive/`: archived former internal root files
|
||
|
||
## Current Structure Notes
|
||
- avatar management: `src/App/Avatar/AvatarManager.php`
|
||
- active avatar styles: `src/App/Avatar/Lorelei.php`, `src/App/Avatar/Croodles.php`
|
||
- separated profile and admin navigation inside the member area: `partials/landing/account/dashboard.php`, access context in `src/App/AccountPages.php`, entry through `partials/structure/nav.php`
|
||
- admin approvals, community moderation, user management, and migration are processed in `src/App/AccountPages.php` and rendered within `partials/landing/account/dashboard.php`.
|
||
- database-backed event location sources plus persisted event location origin: `partials/landing/account/dashboard.php`, `src/App/AccountPages.php`, `Internal/db/schema.sql`
|
||
- consent and legal texts: `public/page/datenschutz.php`
|
||
- system settings: `src/App/SystemSettings.php`
|
||
- owner profile-level management including user search, manual community-point increases, and recently reached high-rank lists: `partials/landing/account/dashboard.php`, `src/App/AccountPages.php`, `src/App/Community.php`, `src/App/CommunityAccess.php`, `src/App/SystemSettings.php`
|
||
- new listing/place base: `src/App/ListingCatalog.php`
|
||
- calendar export and subscribable feed: `src/App/CalendarSync.php` plus `public/page/calendar/export.php` and `public/page/calendar/feed.php`
|
||
- separated `Events` and `Places & Events` UI in member area: `partials/landing/account/dashboard.php`
|
||
- dedicated member-area section `Categories` for new categories and merging through a suggestion field: `partials/landing/account/dashboard.php`, `src/App/AccountPages.php`, `src/App/ListingCatalog.php`
|
||
- community-level rights for categories and place/event approvals: `config/community.php`, `src/App/Community.php`, `src/App/CommunityAccess.php`, `src/App/AccountPages.php`, `partials/landing/account/dashboard.php`
|
||
- pricing, image upload, and place/address input for places and event-style entries plus a reduced own-event form: `partials/landing/account/dashboard.php` with persistence in `src/App/ListingCatalog.php`
|
||
- approvals as well as change and deletion requests for places and event-style entries: `src/App/ListingCatalog.php`, `src/App/AccountPages.php`, `partials/landing/account/dashboard.php`
|
||
- direct editing for not-yet-published place and event-style suggestions plus approval-right resolution: `src/App/CommunityAccess.php`, `src/App/AccountPages.php`, `src/App/ListingCatalog.php`, `partials/landing/account/dashboard.php`
|
||
- server-side place-provider lookup and secure match selection for admin approvals: `src/App/PlaceProviderLookup.php`, `src/App/AccountPages.php`, `src/App/ListingCatalog.php`, `partials/landing/account/dashboard.php`
|
||
- admin lists for existing place editing and missing provider links: `src/App/ListingCatalog.php`, `src/App/AccountPages.php`, `partials/landing/account/dashboard.php`
|
||
- direct admin corrections of published place and event data: `src/App/ListingCatalog.php`, `src/App/AccountPages.php`, `partials/landing/account/dashboard.php`
|
||
- role assignment via user search in User Management: `src/App/AccountPages.php`, `partials/landing/account/dashboard.php`, `src/App/CommunityAccess.php`
|
||
- legacy own events were extended in `src/App/AccountPages.php` and `Internal/db/schema.sql` with category and image fields
|
||
|
||
## Documentation Rule
|
||
- canonical internal documentation lives in `Internal/de/` and `Internal/en/`
|
||
- `README.md` in the project root remains as the startup document for new chats
|
||
- structural changes must always be documented in German and English in parallel
|
||
- former internal root documentation files now live under `Internal/archive/legacy-root-files/`
|