Datenfluss (Technisch)

Ü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:

  1. Dokumentenkonvertierung — PDF/Office in maschinenlesbares Format umwandeln.
  2. Indizierung — Textdaten strukturieren und durchsuchbar machen.
  3. 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:

  1. Dokumentenkonvertierung — Bieterdokumente in lesbares Format umwandeln.
  2. Indizierung — Struktur der Bieterdokumente erfassen.
  3. Nachweis-Matching — KI ordnet Bieterdokumente den geforderten Nachweisen zu.
  4. 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.
dok: 2026-04-28, v0.6.00; current +00.02.28