Übersicht der Datenflüsse innerhalb von Klark.one.
System-Kontext
Das Diagramm zeigt die Interaktionen zwischen dem Benutzer, der Applikation und den externen Systemen.
Wichtig: KI-gestützte Workflows (Konvertierung, Extraktion, Prüfung) laufen über den Worker-Service. Der KI-Chat kommuniziert direkt mit der konfigurierten KI-API, erhält aber Kontext (Dokumente, Metadaten) über das Backend.
flowchart LR
User((Benutzer))
subgraph Klark.one [Klark.one System]
App[Applikation]
end
Dateisystem[("Dateisystem")]
DB[("Datenbank")]
Worker["Worker-Service\n(KI-Workflows)"]
KI_API["KI-API\n(KI-Chat direkt)"]
User -->|Lädt Dokumente hoch| App
User -->|Fordert Analyse an| App
User -->|Prüft & Bewertet| App
User -->|Stellt Fragen| App
App <-->|Liest/Schreibt Dateien| Dateisystem
App <-->|Speichert Daten| DB
App <-->|Delegiert Aufgaben| Worker
App <-->|Chat / Fragen + Kontext| KI_API
KI_API <-->|Dokumente abrufen| DB
Worker -.->|Schreibt Ergebnisse| Dateisystem
Anmeldung
Der Benutzer meldet sich mit E-Mail und Passwort an. Die API prüft die Zugangsdaten gegen die Datenbank und erstellt eine verschlüsselte Sitzung.
sequenceDiagram
participant User as Benutzer
participant UI as Frontend
participant API as API
participant DB as Datenbank
User->>UI: E-Mail & Passwort
UI->>API: Anmeldung
API->>DB: Prüfe Zugangsdaten
DB-->>API: Benutzer gültig
API->>API: Erstelle Sitzung
API-->>UI: Sitzungs-Cookie setzen
UI-->>User: Weiterleitung Dashboard
Sitzungsdauer: 30 Tage. Team-Wechsel über das Profilmenü.
Dokumentenzugriff
Der Benutzer greift über die API auf Dokumente im Dateisystem zu. Alle Zugriffe sind authentifiziert.
sequenceDiagram
participant UI as Frontend
participant API as API
participant DB as Datenbank
participant Storage as Dateisystem
UI->>API: Dokument lesen / auflisten
API->>DB: Speicher-Konfiguration laden
DB-->>API: Zugriffseinstellungen
API->>Storage: Dokument abrufen
Storage-->>API: Inhalt / Metadaten
API-->>UI: Anzeige im Browser
- Lesen: Volltext-Vorschau, Markdown-Ansicht, Metadaten.
- Schreiben: Upload neuer Dokumente, Ordner erstellen.
- Jeder Zugriff wird über die gespeicherten Zugangsdaten des Teams autorisiert.
Datei-Upload
sequenceDiagram
participant UI as Frontend
participant API as API
participant DB as Datenbank
participant Storage as Dateisystem
UI->>API: Dateien hochladen
API->>DB: Konfiguration laden
DB-->>API: Speicher-Einstellungen
API->>Storage: Dateien schreiben
Storage-->>API: Erfolgreich
API-->>UI: Bestätigung
Unterstützte Formate: PDF, DOCX, XLSX, ZIP. Ordnerstrukturen per Drag and Drop.
Anforderungen extrahieren
Die Ausschreibungsunterlagen werden in drei Schritten verarbeitet:
- Dokumentenkonvertierung — PDF/Office in maschinenlesbares Format umwandeln.
- Indizierung — Textdaten strukturieren und durchsuchbar machen.
- Metadaten-Extraktion — KI analysiert Dokumente und extrahiert Anforderungen.
sequenceDiagram
participant UI as Frontend
participant API as API
participant Worker as Worker-Service
Note over UI, Worker: 1. Konvertierung
UI->>API: Dokumente konvertieren
API->>Worker: Start Konvertierung
Worker-->>UI: Aufgabe gestartet
Worker->>Worker: PDF zu Text umwandeln
Note over UI, Worker: 2. Indizierung
UI->>API: Dateien indizieren
API->>Worker: Start Indizierung
Worker-->>UI: Aufgabe gestartet
Worker->>Worker: Struktur erfassen
Note over UI, Worker: 3. Extraktion
UI->>API: Anforderungen extrahieren
API->>Worker: Start KI-Analyse
Worker-->>UI: Aufgabe gestartet
Worker->>Worker: Anforderungen erkennen & strukturieren
Bieter prüfen
Die Bieterdokumente werden gegen die extrahierten Anforderungen abgeglichen:
- Dokumentenkonvertierung — Bieterdokumente in lesbares Format umwandeln.
- Indizierung — Struktur der Bieterdokumente erfassen.
- Nachweis-Matching — KI ordnet Bieterdokumente den geforderten Nachweisen zu.
- Kriterienprüfung — KI prüft jedes Kriterium gegen die zugeordneten Dokumente.
sequenceDiagram
participant UI as Frontend
participant API as API
participant Worker as Worker-Service
Note over UI, Worker: 1. Konvertierung
UI->>API: Bieterdokumente konvertieren
API->>Worker: Start Konvertierung
Worker-->>UI: Aufgabe gestartet
Worker->>Worker: PDF zu Text umwandeln
Note over UI, Worker: 2. Indizierung
UI->>API: Bieterdokumente indizieren
API->>Worker: Start Indizierung
Worker-->>UI: Aufgabe gestartet
Worker->>Worker: Struktur erfassen
Note over UI, Worker: 3. Matching
UI->>API: Nachweise zuordnen
API->>Worker: Start Matching
Worker-->>UI: Aufgabe gestartet
Worker->>Worker: Nachweise erkennen & zuordnen
Note over UI, Worker: 4. Kriterienprüfung
UI->>API: Kriterien prüfen
API->>Worker: Start Prüfung
Worker-->>UI: Aufgabe gestartet
Worker->>Worker: Kriterien abgleichen & bewerten
Worker-Zugriff
Rechenintensive Aufgaben werden asynchron an den Worker-Service delegiert. Die API fungiert als Vermittler und authentifiziert jede Anfrage.
sequenceDiagram
participant UI as Frontend
participant API as API
participant Worker as Worker-Service
UI->>API: Aufgabe starten
API->>Worker: Aufgabe delegieren (authentifiziert)
Worker-->>API: Auftragsbestätigung
API-->>UI: Auftrags-ID
par Echtzeit-Updates
UI->>API: Status abrufen
API->>Worker: Status abfragen
Worker-->>API: Fortschritt
API-->>UI: Fortschritt anzeigen
and Ausführung
Worker->>Worker: Aufgabe verarbeiten
end
Der Worker schreibt Ergebnisse direkt zurück in das Dateisystem.
Fortschritt und Status
Alle Hintergrundaufgaben senden strukturierte Statusmeldungen in Echtzeit an die UI:
- progress: Fortschritt in Prozent.
- status: Phaseninformation (z.B. „Kontext laden", „Dokumente prüfen").
- result: Endergebnis.
- error: Fehlermeldung.
Bewertungs-Status
synchronisiert → KI-Vorschlag → finale Entscheidung
- synchronisiert: Kriterien übernommen, noch nicht geprüft.
- KI-Vorschlag: Automatische Bewertung durch die KI.
- finale Entscheidung: Menschliche Bestätigung oder Korrektur.