docs(arbeitskacheln): Open-Source-/HiOrg-Vergleich ausgewertet, 14 neue Kacheln ausgearbeitet

Vergleich mit InvenTree, Snipe-IT, Grocy, Shelf.nu, Resgrid, KP Front, FleetMS,
HiOrg-Server ergibt neue Kacheln (ASSET-010 Custody, FILE-008 Hash-Audit-Journal,
FILE-009 Notizen, NOTIF-003, MAINT-007 Tankbuch, ZUST-003 Standort-Scoping,
FOUND-007 Import/Export, FOUND-008 Fristen-Dienst, READY-006 Statistik-Dashboard,
UI2-006..010) sowie Referenz-Ergänzungen bei bestehenden Lücken. Alle Design-
Entscheidungen (Datenmodell, Sicherheitsanforderungen bei ASSET-010) geklärt.

Neues Epic 23 (Flutter-Begleit-App, Sondierungs-Prototyp FLUT-001) inkl. geklärtem
TLS-Blocker (Domain mabea.perlbach-edv.de mit Let's-Encrypt-Zertifikat statt
selbstsigniertem Server-Zertifikat).

Alle Kacheln bleiben offen/ungeplant, nur ausgearbeitet, keine Implementierung.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
This commit is contained in:
2026-09-10 00:49:32 +02:00
co-authored by Claude Sonnet 5
parent 3e39c3b7fd
commit 9c6426190e
21 changed files with 1954 additions and 50 deletions
+64
View File
@@ -0,0 +1,64 @@
# Epic 23 — Flutter-Begleit-App (Sondierung, P3)
**Bewusst nur als Sondierungs-Prototyp geplant, keine Grundsatzentscheidung.**
Motivation: PWA (Epic 15 Mobile) deckt den Tablet-Feldeinsatz bereits weitgehend ab
(MOBILE-001/002/004/005 fertig). Offen ist, ob native Kamera-API für den QR-Scan
spürbar zuverlässiger ist als Browser-`getUserMedia`/`@zxing/browser` — das soll ein
einzelner Prototyp-Screen klären, bevor irgendeine Grundsatzentscheidung
(Ergänzung vs. Ablösung der PWA) fällt.
**Build-Umgebung**: separater Server `192.168.1.236` (Hostname `aicontrol`), Flutter+
Android-SDK bereits installiert, unabhängig von MABEA-Infrastruktur — reiner
Build-Host, kein Dauerbetrieb der App dort (App läuft auf Endgeräten).
---
## FLUT-001 — QR-Scan-Prototyp gegen MABEA-Backend (P3, Sondierung)
- **Ziel:** Klären, ob native Kamera-API (Flutter, z.B. `mobile_scanner`-Paket) den
QR-Scan-Workflow spürbar zuverlässiger/schneller macht als die PWA-Lösung —
KEIN Ersatz für MOBILE-002, nur Vergleichsdatenpunkt.
- **Scope (bewusst minimal):** Login-Screen (JWT gegen `/api/v1/auth/login`) +
EIN Screen QR-Scan → Objekt-Identifikation anzeigen. Kein voller
Kontroll-Workflow, keine Offline-Fähigkeit, kein Produktionsanspruch.
- **Abhängigkeiten:** MABEA-Backend-API (bestehend, unverändert nutzbar — FastAPI/
REST ist stack-agnostisch, kein Rückbau nötig)
- **TLS/Zertifikat — entschieden 2026-09-10: Option 1 (echte Domain + Let's
Encrypt).** Domain `mabea.perlbach-edv.de` vorhanden, DNS zeigt bereits auf die
öffentliche WAN-IP, gültiges Let's-Encrypt-Zertifikat existiert bereits
(`CN=mabea.perlbach-edv.de`, Issuer Let's Encrypt) — läuft aber noch über einen
vorgelagerten Reverse-Proxy (openresty, vermutlich Nginx Proxy Manager im
Heimnetz des Nutzers), der aktuell nur auf sich selbst redirected statt auf
MABEA (`192.168.1.238`) durchzuleiten. **Nutzer kümmert sich selbst** um den
Proxy-Host-Eintrag (`mabea.perlbach-edv.de``192.168.1.238`) — liegt außerhalb
des MABEA-Server-Zugriffs. Sobald das steht: `VITE_API_BASE_URL` bleibt für die
PWA unverändert relativ (`/api/v1`, CLAUDE.md-Regel), die Flutter-App nutzt
stattdessen `https://mabea.perlbach-edv.de/api/v1` als fest hinterlegte absolute
Basis-URL — kein selbstsigniertes Zertifikat, kein Cert-Pinning, kein
Sonderweg mehr nötig.
- **Prüfschritt vor Implementierungsstart:** verifizieren, dass
`https://mabea.perlbach-edv.de/api/v1/health` tatsächlich 200 liefert (nicht
mehr den aktuell beobachteten Redirect-Loop), bevor die App-Basis-URL
festgelegt wird.
- **DECISION REQUIRED — App-Identität:** Package-Name (z.B. `de.<org>.mabea`),
Anzeigename, Icon — noch nicht festgelegt, nicht kritisch für den Prototyp
(Platzhalter-Werte reichen), aber nötig vor einem echten Android-Build.
- **DECISION REQUIRED — Test-Instanz:** gegen Prod-Backend (192.168.1.238) direkt
testen, oder separater Test-Zugang? Für einen reinen Kamera-Vergleichstest
spricht wenig gegen Prod (nur Lesezugriff: Login + QR-Scan-Anzeige, keine
Schreibaktionen im Scope).
- **Nicht-Ziele:** kein Ersatz für die PWA, keine Offline-Fähigkeit, kein
vollständiger Kontroll-Workflow, keine Store-Veröffentlichung (Sideload/interner
Test-Build reicht für die Sondierung).
- **DoD:** offen, **P3 — reine Sondierung, kein MVP-Bestandteil**. Ergebnis dieses
Prototyps entscheidet, ob ein Folge-Epic (voller Kontroll-Workflow) überhaupt
sinnvoll ist — nicht vorher committen.
---
## Referenzen
Chat 2026-09-10: Motivation/Trade-offs erstmals besprochen (Offline-Fähigkeit,
native Hardware-Zugriffe, App-Store-Distribution als Nachteil für internes
BOS-Tool). Nutzer-Entscheidung: MABEA-Begleit-App, nur Build-Server, kein
Dauerbetrieb auf `192.168.1.236`. TLS-Blocker entdeckt bei Server-Check
`192.168.1.238` (`/etc/nginx/sites-enabled/mabea.conf`).