- Symfony 7.4 LTS, PHP 8.4, FrankenPHP, SQLite (3-Layer src/UI|Logic|Data) - Auth: manueller OidcClient (Authorization-Code) im UI-Layer, kein Security-Bundle/league; Session-Gate via SessionAuthSubscriber - API-Guard via statischem X-Api-Token (ApiTokenSubscriber); ExceptionSubscriber - UserEntity (Auto-Provision) + Init-Migration - Docker (php:8.4-frankenphp) + compose (essen.ljh31.de, traefik-net external) - SmokeTests (7) grün: Redirect-Fälle, API-Token, Auth-Render, Logout Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.1 KiB
1.1 KiB
Architecture Decision Records (ADRs)
Kurze, nicht-änderbare Aufzeichnungen der wichtigsten Entscheidungen.
Format: ADR-Mikrometer-Muster (Kontext, Entscheidung, Konsequenzen).
Nummerierung: NNN-Name-slug.md, fortlaufend, Lücken zulässig.
Wenn sich etwas ändert: neue ADR, alte als superseded markieren.
Status
accepted– gilt aktuellproposed– noch nicht endgültigsuperseded– durch neuere ADR ersetzt (→ verlinken)rejected– bewusst verworfen
Index
| Nr | Titel | Status |
|---|---|---|
| 001 | Backend auf Symfony 7 (PHP) | accepted |
| 002 | Frontend: serverseitig + htmx (kein React) | accepted |
| 003 | Auth: Keycloak-OIDC (Web) + statischer API-Token (HA) | accepted |
| 004 | Home-Assistant als Consumer, nicht als Host | accepted |
| 005 | SQLite als Datenbank (vorerst) | accepted |
| 006 | Inspiration-Algorithmus: gewichteter Mix | proposed |
| 007 | Architekturrichtlinien (3 Layer, UI/Logic/Data) | accepted |