202 lines
4.1 KiB
Markdown
202 lines
4.1 KiB
Markdown
# 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
|