diff --git a/arbeitskacheln/00_index.md b/arbeitskacheln/00_index.md index 2fe0630..d45167a 100644 --- a/arbeitskacheln/00_index.md +++ b/arbeitskacheln/00_index.md @@ -318,7 +318,7 @@ eigenes Modul (MAINT-\*, MABEA hat nur Prüfung, keine Wartung)**. | `20_ui_redesign.md` | UI-001 … UI-008 (vollständig umgesetzt, 2026-09-06) | | `21_akte_redesign.md` | AKTE-001 … AKTE-003 (vollständig umgesetzt, 2026-09-06) | | `22_ui_redesign_v2.md` | UI2-001 … UI2-010 (alle offen, 001-005 ergänzt 2026-09-08, 006-010 ergänzt 2026-09-09 aus vertiefter Analyse, Grundlage: ai-coding-starter-kit-v2) | -| `23_flutter_begleitapp.md` | FLUT-001 (Sondierungs-Prototyp, offen, P3, 2026-09-10 — TLS-Blocker beachten) | +| `23_flutter_begleitapp.md` | FLUT-001 (✅ Prototyp läuft v0.5.0, P3, Ergebnis Kamera-Vergleich noch nicht ausgewertet — Code liegt nicht in diesem Repo) | **Alle 22 Epics durchgegangen** (16 ursprüngliche + 17 Zuständigkeit/18 Notifications/19 Satelliten-Server/20 UI-Redesign/21 Akte-Redesign/22 UI-Redesign Runde 2, nachträglich diff --git a/arbeitskacheln/23_flutter_begleitapp.md b/arbeitskacheln/23_flutter_begleitapp.md index bafb046..30845d4 100644 --- a/arbeitskacheln/23_flutter_begleitapp.md +++ b/arbeitskacheln/23_flutter_begleitapp.md @@ -40,19 +40,55 @@ Build-Host, kein Dauerbetrieb der App dort (App läuft auf Endgeräten). `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..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). +- **App-Identität — entschieden 2026-09-10:** Package `de.mabea`, Projektname + `mabea_scan_prototyp`, Anzeigename „MABEA" (Nutzer-Vorschlag übernommen, + Platzhalter genügt für den Sondierungs-Prototyp). +- **Test-Instanz — entschieden 2026-09-10:** direkt gegen Prod-Backend + (`mabea.perlbach-edv.de`), kein separater Test-Zugang — reiner + Lesezugriff-Vergleichstest wie ursprünglich angenommen. - **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. + vollständiger Kontroll-Workflow (siehe FLUT-002-Hinweis unten), keine + Store-Veröffentlichung (Sideload/interner Test-Build reicht für die + Sondierung). +- **DoD:** ✅ **Prototyp läuft, iterativ über den ursprünglichen Scope hinaus + gewachsen (2026-09-10, v0.1.0 → v0.5.0)** — Ergebnis noch nicht formal + bewertet (keine Grundsatzentscheidung Ergänzung-vs-Ablösung-PWA getroffen), + aber der Prototyp selbst ist weit über "ein Screen QR-Scan" hinausgewachsen: + - **v0.1.0** — Basis-Scope: Login-Screen (JWT), QR-Scan-Screen gegen + `/api/v1/objekte/code/{code}`, In-App-Update-Check gegen + `/downloads/version.json` mit externem Browser-Download. + - **v0.2.0** — manuelle Code-Eingabe als Alternative zum Scannen (gleiche + Lookup-Logik). + - **v0.3.0** — Android-Autofill-Framework-Unterstützung für Login + (`AutofillGroup`/`AutofillHints`) — Passwortmanager auf dem Gerät kann das + Formular ausfüllen. + - **v0.4.0** — Update-Download läuft jetzt vollständig in-App (Streaming + + Fortschrittsbalken + `open_filex`-Installationsprompt) statt externen + Browser zu öffnen, dafür `REQUEST_INSTALL_PACKAGES`-Permission ergänzt. + - **v0.5.0** — ℹ️-Icon im Scan-Screen zeigt Versions-/Build-Nummer per Dialog. + - Build- und Deploy-Weg etabliert: Build auf `192.168.1.236` + (`flutter build apk --release --target-platform android-arm64`), APK+ + `version.json` liegen auf `mabea.perlbach-edv.de` unter einem eigenen + nginx-`location /downloads/`-Pfad (bewusst NICHT im SPA-`dist/`-Verzeichnis + — ein normaler Frontend-Deploy mit `rsync --delete` hätte den Ordner sonst + gelöscht, real passiert und behoben). Download-Link im Portal nur für + Administrator sichtbar (`AdminPage.tsx`). + - **Ergebnis der eigentlichen Sondierungsfrage (native Kamera vs. PWA) noch + nicht ausgewertet** — dafür bräuchte es einen bewussten Vergleichstest + unter Feldbedingungen, nicht nur "die App existiert und funktioniert". + Diese Bewertung steht weiterhin aus, unabhängig vom App-Reifegrad. + - Code lebt vollständig auf dem separaten Build-Server + (`/opt/flutter-projects/mabea_scan_prototyp/`), **nicht** im MABEA-Git-Repo + — dieser Kachel-Eintrag ist die einzige Dokumentation davon. + +## FLUT-002 — voller Kontroll-Workflow in der App (nicht beauftragt, nur Frage beantwortet) + +Nutzerfrage 2026-09-10: "über die App de Kontrollen machen, ist dieses möglich?" +— beantwortet (technisch machbar, würde aber Offline-Fähigkeit, Soll/Ist-Erfassung, +Fehlbestand-Auslösung etc. neu in Flutter nachbauen, was FLUT-001 bewusst +ausklammert), **kein Auftrag erteilt**. Kein eigenes Kachel-Ziel, nur als +Platzhalter geführt, falls die Sondierung (siehe oben) für eine native App +statt/neben der PWA spricht. --- @@ -61,4 +97,8 @@ 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`). +`192.168.1.238` (`/etc/nginx/sites-enabled/mabea.conf`), gelöst über +vorhandene Domain `mabea.perlbach-edv.de` + Reverse-Proxy-Routing (Nutzer +selbst konfiguriert). Iterative Feature-Wünsche 2026-09-10 (manuelle +Eingabe, Autofill, In-App-Update, Versionsanzeige) direkt umgesetzt, siehe +FLUT-001-DoD oben.