Architektur
React-Frontend, FastAPI-API, Python-Modul, SQLite und persistenter Speicher.
Browser
│ HTTP + SSE
▼
React / Vite ─────► FastAPI / Uvicorn
│
┌───────────┼────────────┐
▼ ▼ ▼
Python-Modul SQLite data/jobs/
│ tradoc.db Dokumente
▼
LLM-AnbieterOberfläche
Das Frontend befindet sich in web/. In der Entwicklung lauscht Vite auf Port 2499 und leitet /api-Aufrufe an FastAPI auf Port 8000 weiter. Im produktiven Docker-Image liefert FastAPI auch das kompilierte Frontend aus.
API
api/app.py initialisiert Anwendung, Sicherheitsheader, Anfragelimits und Health-Route. api/routes.py stellt Anbieter, Projekte, Segmente, Glossare, Exporte und Ereignisse bereit.
Übersetzungsmodul
Das Verzeichnis core/ enthält Parser, Segmentierung, LLM-Client, Bereinigung, asynchrones Modul, Glossare, Zugangsdatenverwaltung und Checkpoints.
Persistenz
SQLite arbeitet im WAL-Modus. Jedes neue Projekt besitzt isolierte Ein- und Ausgabeverzeichnisse unter data/jobs/<id>/. Auch Glossare und Anbieterzugangsdaten liegen unter data/.
Ein konsistentes Backup
Sichere das gesamte Verzeichnis data/, nicht nur tradoc.db. Die Datenbank verweist auf die daneben gespeicherten Projektdokumente und -verzeichnisse.