Files
MABEA/arbeitskacheln/03_digital_file.md
T
patrickandClaude Sonnet 5 ca0befd4a0
CI / backend-tests (push) Successful in 1m55s
CI / frontend-build (push) Successful in 18s
docs: Digital-File-Epic als umgesetzt markiert, Mobile-Epic-Verweise aktualisiert
FILE-001..006 live (Akte-Aggregations-Endpunkt + Übersichtsseite), FILE-007
bewusst als eigene spätere QS-Kachel offen gelassen. MOBILE-002/004-Verweise
auf die vormals fehlende Akte korrigiert (Akte existiert jetzt, Scan-Ziel-
Umstellung ist nur noch kleiner Nachzug statt Neubau).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
2026-09-05 21:33:23 +02:00

8.4 KiB

Epic 03 — Digital File (Akte)

Details zu FILE-001 … FILE-007 (vollständig).


FILE-001 — Akte-Grundgerüst

  • Ziel: Zentrale Entität, die alle Teilbereiche einer Ressource bündelt.
  • Beschreibung: Konzeptionelle „Akte" muss keine eigene Tabelle sein, sondern eine Aggregations-Sicht (View/Backend-Endpunkt), der Stammdaten+Standort+Historie+Dokumente+ Prüfungen+Wartungen+Mängel für eine gegebene Ressourcen-ID zusammenführt.
  • Benutzerwert: Ein Helfer/Prüfer sieht auf einen Blick alles zu einer Ressource, ohne mehrere Screens durchklicken zu müssen.
  • Abhängigkeiten: IDENT-001
  • Datenmodell: kein neues Datenmodell — Aggregations-Logik über bestehende Tabellen (die zum Zeitpunkt dieser Kachel z.T. noch nicht existieren, daher zunächst nur Stammdaten+Historie als Platzhalter, Rest wird nachgezogen sobald die jeweiligen Module existieren)
  • Backend: GET /akte/{ressourcen_id} (aggregiert)
  • Frontend/Mobile:
  • QR-Code: Ziel des QR-Scans (IDENT-008)
  • Seriennummer/Inventarnummer: werden hier nur angezeigt, nicht neu verwaltet
  • Akte: ist diese Kachel selbst
  • Rechte: Lesen wie Ressourcen-Leserecht
  • Audit: Akte-Aufruf selbst wird NICHT geloggt (zu granular/kein Mehrwert), nur Änderungen an den Teilbereichen
  • Akzeptanzkriterien: Endpunkt liefert für eine existierende Ressourcen-ID ein zusammengesetztes JSON, für unbekannte ID 404.
  • Tests: Aggregations-Test mit Dummy-Daten in mind. zwei Teilbereichen.
  • DoD: Grundgerüst erweiterbar, ohne bestehende Endpunkt-Konsumenten zu brechen, wenn neue Teilbereiche dazukommen.

FILE-002 — Akte-Stammdatenbereich

  • Ziel: Feste, immer sichtbare Kopfzeile jeder Akte.
  • Beschreibung: Name, Kategorie/Typ, Inventarnummer, Seriennummer, Hersteller/Modell, Status-Badge gebündelt.
  • Benutzerwert: Sofortige Grundorientierung ohne Scrollen.
  • Abhängigkeiten: FILE-001, IDENT-002/004/005, ASSET-004
  • Datenmodell: keins neu, reine Aggregation
  • Backend: Teil des FILE-001-Aggregations-Endpunkts
  • Frontend: Kopfzeilen-Komponente
  • Mobile: kompakte Variante (Karte statt Tabellenzeile)
  • QR-Code: Druckbutton hier verankert (IDENT-007)
  • Seriennummer/Inventarnummer: zentrale Anzeige hier
  • Akte: ist dieser Bereich selbst
  • Rechte: wie Lese-Recht
  • Audit: nein (nur Anzeige)
  • Akzeptanzkriterien: alle Kernfelder korrekt angezeigt, Status-Badge farbcodiert.
  • Tests: Rendering-Test mit Beispieldaten.
  • DoD: an mind. zwei unterschiedlichen Ressourcentypen (z.B. Fahrzeug + Gerät) getestet.

FILE-003 — Akte-Standortbereich

  • Ziel: Aktueller Standort direkt sichtbar, mit Sprung zur vollständigen Standorthistorie.
  • Beschreibung: Anzeige aktueller Standort (Lagerplatz/Fahrzeug/Person), Link zu WH-Modul für Details.
  • Benutzerwert: „Wo ist das Ding gerade" ist die häufigste Frage im Alltag.
  • Abhängigkeiten: FILE-001, WH-001 (zumindest Platzhalter-Standortfeld, bevor Warehouse-Epic fertig ist)
  • Datenmodell: Referenz auf aktuellen Standort (Feld existiert ggf. schon am Asset, hier nur Anzeige)
  • Backend: Teil des Aggregations-Endpunkts
  • Frontend: Standort-Kachel in der Akte
  • Mobile: gleiche Anzeige, kompakt
  • QR-Code/Seriennummer/Inventarnummer: nein
  • Akte: ist dieser Bereich
  • Rechte: wie Lese-Recht
  • Audit: nein (Standortänderung selbst wird in WH-Modul geloggt, hier nur Anzeige)
  • Akzeptanzkriterien: aktueller Standort korrekt, Link funktioniert.
  • Tests: Rendering-Test.
  • DoD: funktioniert, sobald WH-001 minimal existiert (auch als Platzhalter-Freitextfeld vor vollem Warehouse-Modul akzeptabel).

FILE-004 — Akte-Verantwortlichkeitsbereich

  • Ziel: Klar erkennbar, wer für eine Ressource zuständig ist.
  • Beschreibung: Anzeige zuständige Person/Einheit (aus Personnel-Epic).
  • Benutzerwert: Ansprechpartner bei Fragen/Problemen sofort ersichtlich.
  • Abhängigkeiten: FILE-001, PERS-003 (zumindest Einheiten-Grundgerüst)
  • Datenmodell: Referenz auf zuständige Einheit/Person
  • Backend: Teil des Aggregations-Endpunkts
  • Frontend: Verantwortlichkeits-Kachel
  • Mobile: gleiche Anzeige
  • QR-Code/Seriennummer/Inventarnummer: nein
  • Akte: ist dieser Bereich
  • Rechte: wie Lese-Recht; Ändern nur Administrator/Zugführer
  • Audit: Änderung wird geloggt
  • Akzeptanzkriterien: Zuständigkeit anzeigen/ändern funktioniert, Änderung geloggt.
  • Tests: Anzeige- und Änderungstest.
  • DoD: funktioniert mit mind. einer Einheit.

FILE-005 — Akte-Historienbereich

  • Ziel: Chronologische Ereignisliste je Ressource, direkt in der Akte statt in einem separaten globalen Log.
  • Beschreibung: Gefilterte Sicht auf FOUND-006 (Audit-Log), gefiltert nach entitaet_id.
  • Benutzerwert: „Was ist mit diesem Gerät in letzter Zeit passiert" auf einen Blick.
  • Abhängigkeiten: FILE-001, FOUND-006
  • Datenmodell: keins neu
  • Backend: Filter-Query auf Audit-Log nach Ressourcen-ID
  • Frontend: Zeitleisten-Komponente in der Akte
  • Mobile: kompakte Liste
  • QR-Code/Seriennummer/Inventarnummer: nein
  • Akte: ist dieser Bereich
  • Rechte: wie Lese-Recht (evtl. eingeschränkter als Vollzugriff auf globales Audit-Log)
  • Audit: zeigt Audit-Daten, erzeugt selbst keine
  • Akzeptanzkriterien: Ereignisse chronologisch, korrekt gefiltert auf die Ressource.
  • Tests: Filter-Test mit mehreren Ressourcen (keine Vermischung).
  • DoD: mind. drei unterschiedliche Ereignistypen sichtbar getestet.

FILE-006 — Akte-Übersichtsseite (UI)

  • Ziel: EIN Screen, der alle Teilbereiche zusammen zeigt.
  • Beschreibung: Frontend-Seite, konsumiert den FILE-001-Aggregations-Endpoint, rendert FILE-002…005 untereinander (Desktop) bzw. als Tabs (Mobile).
  • Benutzerwert: zentrale Anlaufstelle je Ressource — Zielseite des QR-Scans (IDENT-008).
  • Abhängigkeiten: FILE-002…005
  • Datenmodell: keins
  • Backend: keins zusätzlich
  • Frontend: Seite /akte/{typ}/{id}
  • Mobile: responsive Variante (Tabs statt nebeneinander)
  • QR-Code: Zielseite von IDENT-008
  • Seriennummer/Inventarnummer: Anzeige via FILE-002
  • Akte: ist diese Kachel selbst
  • Rechte: wie Lese-Recht
  • Audit: nein
  • Akzeptanzkriterien: Seite lädt alle Teilbereiche fehlerfrei; fehlende Teilbereiche (z.B. noch keine Dokumente) zeigen „keine Daten" statt Fehler.
  • Tests: Rendering-Test mit vollen Daten, Rendering-Test mit leeren Teilbereichen.
  • DoD: von IDENT-008 aus erreichbar, produktiv nutzbar.

FILE-007 — Akte-Audit-Anbindung

  • Ziel: Sicherstellen, dass jede Änderung an einem Akte-Teilbereich auch im Historienbereich (FILE-005) auftaucht — keine stillen Lücken.
  • Beschreibung: Audit-Log-Aufrufe an den Schreib-Endpunkten der Teilbereiche systematisch nachrüsten/verifizieren (Konsistenz-Check über alle Mutations-Endpunkte).
  • Benutzerwert: Vertrauen, dass die Akte-Historie wirklich vollständig ist.
  • Abhängigkeiten: FILE-005
  • Datenmodell: keins
  • Backend: Audit-Log-Aufruf-Vervollständigung, ggf. Lint-Regel/Test dagegen
  • Frontend/Mobile: keins
  • QR-Code/Seriennummer/Inventarnummer: nein
  • Akte: Qualitätssicherung für den Historienbereich
  • Rechte: keine neuen
  • Audit: ist Gegenstand dieser Kachel
  • Akzeptanzkriterien: für jeden Schreibendpunkt eines Akte-Teilbereichs existiert ein Audit-Log-Test.
  • Tests: Coverage-Check „jeder Mutations-Endpunkt loggt".
  • DoD: keine bekannte Lücke mehr — vgl. MABEA, wo genau diese Art Lücke (Mangel/ Personal/Objekt-Änderungen ohne Audit-Eintrag) schon einmal real gefunden und gefixt wurde. Diese Kachel ist der methodische Nachfolgeschritt: systematisch statt punktuell.

MABEA-Ist-Stand-Abgleich (aktualisiert 2026-09-05): FILE-001…006 sind umgesetzt und live deployed — GET /api/v1/akte/objekt/{id} bündelt Stammdaten/Standort/ Verantwortlichkeit/Historie/Dokumente/Geräte-Prüfungen/Mängel, Frontend-Seite /akte/objekt/{id} konsumiert den Endpunkt, Link aus der Objektliste. FILE-007 (systematischer Audit-Konsistenz-Check über alle Mutations-Endpunkte) bewusst noch offen gelassen — eigene, spätere Qualitätssicherungs-Kachel, keine Sichtbarkeits-/Nutzenlücke für den Anwender. QR-Scan (IDENT-008) zeigt weiterhin auf die Kontrolle, nicht auf die Akte - Verknüpfung dorthin ist ein kleiner Nachzug, kein Neubau.