update
This commit is contained in:
201
AzA march 2026 - Kopie (18)/browser_aza_mvp_spec.md
Normal file
201
AzA march 2026 - Kopie (18)/browser_aza_mvp_spec.md
Normal file
@@ -0,0 +1,201 @@
|
||||
# Browser-AZA MVP Spezifikation
|
||||
|
||||
Stand: 2026-03-08
|
||||
Status: verbindliche Arbeitsgrundlage für Step 22
|
||||
|
||||
---
|
||||
|
||||
## Ziel
|
||||
|
||||
Browser-AZA ist die kleinste verkaufbare Web-Version von AZA.
|
||||
|
||||
Der MVP soll genau einen klaren Hauptnutzen liefern:
|
||||
|
||||
1. Arzt öffnet die Browser-Oberfläche
|
||||
2. wählt Fachrichtung
|
||||
3. lädt Audio hoch
|
||||
4. Browser sendet an `/v1/transcribe`
|
||||
5. Transkript wird angezeigt
|
||||
6. Transkript kann kopiert werden
|
||||
|
||||
---
|
||||
|
||||
## Nicht verhandelbare Projektregeln
|
||||
|
||||
- `/license/status` Schema bleibt exakt unverändert
|
||||
- Auth bleibt `X-API-Token`
|
||||
- keine Bearer-Umstellung
|
||||
- keine Tokens oder Secrets loggen
|
||||
- keine unnötigen Refactors
|
||||
- keine Breaking Changes ohne eigenen Step
|
||||
|
||||
---
|
||||
|
||||
## MVP-In-Scope
|
||||
|
||||
- eine Browser-Hauptseite
|
||||
- klarer Upload-Bereich
|
||||
- Fachrichtungsauswahl vor Upload
|
||||
- Upload an `/v1/transcribe`
|
||||
- Ergebnisbereich für Transkript
|
||||
- Copy-Button
|
||||
- sichtbarer Support-Link
|
||||
- sichtbarer Privacy-/Terms-Link
|
||||
- HTTPS-Erreichbarkeit
|
||||
|
||||
---
|
||||
|
||||
## Nicht Teil des MVP
|
||||
|
||||
- komplexes Benutzer-/Rollensystem
|
||||
- Admin-Dashboard
|
||||
- Billing-Logik im Browser
|
||||
- Desktop-Auto-Update
|
||||
- ausgefeilte Mehrseiten-Navigation
|
||||
- Nice-to-have UI-Politur
|
||||
- Zusatzmodule außerhalb Transkriptions-Kernflow
|
||||
|
||||
---
|
||||
|
||||
## Zielbild der Oberfläche
|
||||
|
||||
Die MVP-Oberfläche besteht aus genau einer klaren Hauptansicht:
|
||||
|
||||
### Bereich 1 – Kopf
|
||||
- Produktname / AZA
|
||||
- kurze Einzeile: medizinische Transkription
|
||||
- Support-Link
|
||||
- Privacy-/Terms-Link
|
||||
|
||||
### Bereich 2 – Eingabe
|
||||
- Fachrichtungsauswahl
|
||||
- Audio-Datei auswählen
|
||||
- klarer Button zum Starten des Uploads
|
||||
|
||||
### Bereich 3 – Ergebnis
|
||||
- Ladezustand
|
||||
- Fehlermeldung falls Upload/Antwort fehlschlägt
|
||||
- Transkript-Textfeld oder Ergebnisbox
|
||||
- Copy-Button
|
||||
|
||||
---
|
||||
|
||||
## Minimaler Benutzerfluss
|
||||
|
||||
### Happy Path
|
||||
|
||||
1. User öffnet Browser-AZA
|
||||
2. Seite lädt fehlerfrei
|
||||
3. User wählt Fachrichtung
|
||||
4. User wählt Audio-Datei
|
||||
5. User startet Upload
|
||||
6. Request geht an `/v1/transcribe`
|
||||
7. Backend antwortet erfolgreich
|
||||
8. Transkript erscheint sichtbar im Browser
|
||||
9. User kopiert das Transkript
|
||||
|
||||
### Fehlerfälle
|
||||
|
||||
- keine Datei gewählt
|
||||
- leere/ungültige Datei
|
||||
- Backend antwortet mit Fehler
|
||||
- Antwort enthält kein nutzbares Transkript
|
||||
|
||||
Für alle Fehlerfälle gilt:
|
||||
|
||||
- verständliche Meldung anzeigen
|
||||
- keine internen Secrets/Tokens anzeigen
|
||||
- keine technischen Rohfehler direkt an User durchreichen, wenn unnötig
|
||||
|
||||
---
|
||||
|
||||
## API-/Backend-Contract für MVP
|
||||
|
||||
Der Browser-MVP darf den bestehenden Backend-Contract nicht brechen.
|
||||
|
||||
### Fix
|
||||
|
||||
- Endpoint: `/v1/transcribe`
|
||||
- Auth-Header: `X-API-Token`
|
||||
|
||||
### Wichtig
|
||||
|
||||
- keine Bearer-Auth einführen
|
||||
- `/license/status` unberührt lassen
|
||||
- bestehende Token-Logik nicht aufbrechen
|
||||
|
||||
---
|
||||
|
||||
## Dateiformat-Hinweis
|
||||
|
||||
Für den MVP soll ein klar definiertes Upload-Format verwendet werden.
|
||||
|
||||
Aktueller Projektkontext:
|
||||
|
||||
- Browser-MVP soll mit vereinbartem Upload-Format arbeiten
|
||||
- falls Formatfrage noch offen ist, als separater klarer Substep behandeln
|
||||
- kein stiller Nebenbei-Umbau
|
||||
|
||||
---
|
||||
|
||||
## Definition of Done für Step 22 MVP
|
||||
|
||||
Step 22 MVP gilt als erfüllt, wenn:
|
||||
|
||||
1. Browser-Seite erreichbar ist
|
||||
2. Seite über HTTPS läuft
|
||||
3. Fachrichtung auswählbar ist
|
||||
4. Audio hochgeladen werden kann
|
||||
5. Upload erfolgreich `/v1/transcribe` anspricht
|
||||
6. Transkript sichtbar angezeigt wird
|
||||
7. Copy-Button funktioniert
|
||||
8. Support-/Privacy-/Terms-Link sichtbar sind
|
||||
9. keine Tokens/Secrets im UI oder Logs erscheinen
|
||||
|
||||
---
|
||||
|
||||
## Umsetzungsreihenfolge
|
||||
|
||||
### Block A
|
||||
- Browser-Hauptseite als MVP-Web-Shell
|
||||
- einfache Seitenstruktur festlegen
|
||||
|
||||
### Block B
|
||||
- Fachrichtungsauswahl einbauen
|
||||
- Upload-Feld und Start-Button einbauen
|
||||
|
||||
### Block C
|
||||
- Request-Flow an `/v1/transcribe`
|
||||
- Lade- und Fehlerzustände
|
||||
|
||||
### Block D
|
||||
- Ergebnisbereich
|
||||
- Copy-Button
|
||||
|
||||
### Block E
|
||||
- Support/Privacy/Terms sichtbar
|
||||
- HTTPS-Check / Deployment-Vorbereitung
|
||||
|
||||
---
|
||||
|
||||
## Akzeptanzchecks
|
||||
|
||||
- Browser öffnet Seite erfolgreich
|
||||
- Fachrichtung auswählbar
|
||||
- Audio-Datei auswählbar
|
||||
- Upload funktioniert
|
||||
- Transkript erscheint
|
||||
- Copy funktioniert
|
||||
- Fehlermeldungen sind verständlich
|
||||
- Support/Privacy/Terms sind sichtbar
|
||||
- keine Secrets/Tokens sichtbar
|
||||
|
||||
---
|
||||
|
||||
## Ergebnis dieses Dokuments
|
||||
|
||||
Dieses Dokument ist die verbindliche Baugrundlage für:
|
||||
|
||||
- den ersten echten Browser-AZA UI-Patch
|
||||
- den Upload-/Result-Flow
|
||||
- die spätere Step-22-Abnahme
|
||||
Reference in New Issue
Block a user