Phase 2: Wartungs- und Pruefmanagement
Wartungsvorlagen mit Checklisten, Prueftermine aus einem naechtlichen Lauf, Prueffristen-Dashboard, Pruefwizard mit Foto und Unterschrift, unveraenderliche Protokolle als PDF, Maengel-Workflow, Rueckrufe und Lebensdauerueberwachung. Elf neue Tabellen, alle mit organisationId und Row Level Security. Die Unveraenderbarkeit abgeschlossener Protokolle setzt ein Datenbanktrigger durch, nicht der Anwendungscode: eine Korrektur erzeugt eine neue Pruefung mit Verweis auf die alte, beide bleiben lesbar. 79 neue Tests (47 Unit, 10 gegen eine echte Datenbank, 22 E2E). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
7f866ac35c
commit
e503aafc18
@@ -32,7 +32,7 @@ Faktoren, die in die Schätzung eingehen:
|
||||
|---|---|---:|---:|---:|
|
||||
| 0 | Fundament | 12–16 PT | — | **1:00 h** |
|
||||
| 1 | Stammdaten | 10–14 PT | 2,5–3,5 h | **2:05 h** |
|
||||
| 2 | Wartung und Prüfung | 18–24 PT | 4,5–6 h | offen |
|
||||
| 2 | Wartung und Prüfung | 18–24 PT | 4,5–6 h | **2:25 h** |
|
||||
| 3 | Einsätze und Übungen | 12–16 PT | 3–4 h | offen |
|
||||
| 4 | Kiosk-PWA mit Offline | 16–22 PT | 4–5,5 h | offen |
|
||||
| 5 | Atemschutz (FwDV 7) | 14–18 PT | 3,5–4,5 h | offen |
|
||||
@@ -105,7 +105,7 @@ Datumsfelder, die sich in Chromium nicht automatisiert füllen lassen.
|
||||
|
||||
## Phase 2 — Wartung und Prüfung
|
||||
|
||||
**Vergleichsaufwand: 18–24 PT** — die aufwendigste Phase
|
||||
**Vergleichsaufwand: 18–24 PT** · **Tatsächlich: 2:25 h Sitzungszeit** — die aufwendigste Phase
|
||||
|
||||
| Baustein | PT |
|
||||
|---|---:|
|
||||
@@ -124,6 +124,29 @@ der Unfallkasse. Das heißt aber auch, dass jeder Fehler teuer ist. Die
|
||||
Unveränderlichkeit abgeschlossener Protokolle ist der Kern — und der Grund,
|
||||
warum der Audit-Log schon in Phase 0 append-only ist.
|
||||
|
||||
**Rückblick.** Deutlich unter der geschätzten Sitzungszeit, und das aus einem
|
||||
Grund, der sich benennen lässt: die Fristenrechnung aus Phase 1 war schon da
|
||||
und musste nur exportiert werden. Wäre sie hier entstanden — samt der
|
||||
Zeitzonen-Falle, über die Phase 1 gestolpert ist —, sähe die Zahl anders aus.
|
||||
|
||||
Teurer als gedacht war das, was zwischen den Bausteinen liegt. Drei Beispiele:
|
||||
|
||||
- Die Reihenfolge beim Abschluss einer Prüfung ist nicht beliebig.
|
||||
Unterschriften und Mängel müssen vor dem Statuswechsel entstehen, denn danach
|
||||
lässt die Datenbank am Protokoll nichts mehr zu. Derselbe Stolperstein traf
|
||||
auch den Seed, der die Beispielprüfung zunächst fertig anlegen wollte.
|
||||
- Die Protokollnummer muss unter einer Sperre vergeben werden. Aufgefallen ist
|
||||
das erst, weil die E2E-Tests Desktop und Tablet gleichzeitig prüfen ließen —
|
||||
zwei Prüfer, die im selben Moment abschließen, sind im Gerätehaus kein
|
||||
konstruierter Fall.
|
||||
- Das PDF entsteht zwischen zwei Datenbanktransaktionen, nicht in einer. Fotos
|
||||
aus MinIO holen und Gotenberg rendern lassen dauert länger, als eine offene
|
||||
Transaktion warten darf.
|
||||
|
||||
Billiger als angesetzt war das Unterschriftenfeld: Pointer-Events decken Finger,
|
||||
Stift und Maus in einem ab, und mehr als Skalierung auf die Pixeldichte und
|
||||
`touch-action: none` braucht es nicht.
|
||||
|
||||
## Phase 3 — Einsätze und Übungen
|
||||
|
||||
**Vergleichsaufwand: 12–16 PT**
|
||||
|
||||
Reference in New Issue
Block a user