1589088379c58fb95d6a768e9514b659a8af8687
Rich-Model Mahlzeit (MahlzeitStatus, Wochentag) mit Invarianten und Zustandsübergängen; DTOs + MahlzeitFactory (reine Mapping-Funktionen); Manager (create hängt an Ende an: maxSortOrder+1, find → 404) und Create/Update/Delete-UseCases mit Transaktion + Events nach Commit. Data-Layer: MahlzeitEntity (Tabelle essens_mahlzeiten, wochentage als CSV), Mapper (CSV/Enum/null), Provider (find/list/maxSortOrder), Processor (create/save/delete). DI-Bindings in services.yaml. ClockInterface (Logic) + SystemClock (Data). Tests: Model/Factory/UseCase-Unit + Provider/Processor/Mapper-Integration (In-Mem-SQLite). composer test grün (53 Tests, 161 Assertions).
svc-essensplanung
Single-User-Essensplanung: CRUD + Wochentage + Status (aktiv/gecheckt/archiv)
- Reordering + htxm-Inspiration, mit optionaler HA-/Smartphone-Sicht.
Einzelner Docker-Stack (FrankenPHP/SQLite), deployt parallel zu anderen
svc-*-Stacks unter ~/Projekte/Homelab/.
Status: in Umsetzung – siehe Doku/plan.md
Doku (kanonisch)
Doku/anforderungen.md– Requirements & Definition of DoneDoku/architektur.md– 3-Layer-Architektur (UI/Logic/Data), Patterns, TestingDoku/plan.md– Implementierungsplan M0–M5, Abnahme-HistorieDoku/adr/README.md– Entscheidungen (ADR-Index)
Tech
Symfony 7.4 LTS · PHP 8.4 · FrankenPHP · SQLite · htmx + SortableJS · Keycloak-OIDC
Description
Essens-Planer: Mittagessen planen, abhaken, archivieren. Symfony-API + htmx-PWA.
300 KiB
Languages
PHP
86.6%
Twig
11.7%
JavaScript
0.8%
Shell
0.7%
Dockerfile
0.2%