diff --git a/docs/README.md b/docs/README.md index ad0bc3c..156c935 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,67 +1,68 @@ -# Dokumentation perinco CRM - -Technische Dokumentation mit Funktionszeichnungen. Die Diagramme sind Mermaid und -werden von Gitea direkt gerendert. - -**Neu hier?** Wer die Anwendung *benutzen* will, fängt bei -[07 Anleitung für Benutzer](07-anleitung-benutzer.md) an. Wer daran *entwickeln* -will, bei [08 Anleitung für Entwickler](08-anleitung-entwickler.md). Beide setzen -keine Vorkenntnisse voraus. - -| Kapitel | Inhalt | -| --- | --- | -| [01 Architektur](01-architektur.md) | Topologie, Prozesse, Ports, Anfrageweg, Rollen | -| [02 Datenmodell](02-datenmodell.md) | Tabellen beider Datenbanken als ER-Diagramme | -| [03 Projekt Scanner](03-scanner.md) | Suchlauf von der Börse bis zum Treffer, Rückbau der alten App | -| [04 Diktat](04-diktat.md) | Spracherkennung im Browser, Modell-Lebenszyklus | -| [05 Frontend](05-frontend.md) | Ansichten, Menü, Komponentenkarte, Zustand | -| [06 Betrieb](06-betrieb.md) | Deployment, Umgebungsvariablen, Dienste, Störungssuche | -| [07 Anleitung für Benutzer](07-anleitung-benutzer.md) | Bedienung aller Bereiche, Schritt für Schritt | -| [08 Anleitung für Entwickler](08-anleitung-entwickler.md) | Einrichten, erweitern, bekannte Fallen | -| [09 Quellcode-Referenz](09-quellcode.md) | jede Datei, ihre Exporte und Zusagen | -| [10 Glossar](10-glossar.md) | Agent, Match, Lead, Opportunity, Status- und Portalwerte | -| [11 Postfachanbindung](11-postfach.md) | crm@perinco.de über Microsoft Graph, Kontakte aus Mails | - -Die Designentscheidungen und die Messwerte zur Spracherkennung stehen im -[README des Projekts](../README.md). - -## Das Ganze in einem Bild - -```mermaid -flowchart TB - subgraph Browser - SPA["React-SPA
Vite-Build"] - WSP["Whisper im Web Worker
WebGPU / WASM"] - end - - subgraph Server["Server 212.227.135.41"] - AP["Apache
:443"] - API["Express-Backend
127.0.0.1:5006"] - SCH["Scanner-Scheduler
node-cron"] - MSCH["Mail-Scheduler
node-cron"] - PW["Playwright
Chromium"] - DB1[("MariaDB
perinco_CRM")] - DB2[("MariaDB
perinco_scanner")] - end - - OAI["OpenAI
gpt-4o-mini"] - BOERSE["Projektbörsen
freelancermap, hays, ..."] - GRAPH["Microsoft Graph
crm@perinco.de"] - - SPA -->|"HTTPS /api"| AP - AP --> API - API --> DB1 - API --> DB2 - SCH --> PW - PW --> BOERSE - SCH --> OAI - SCH --> DB2 - API -.-> SCH - API -.-> MSCH - MSCH -->|"Delta Query, nur lesend"| GRAPH - MSCH --> DB1 - SPA -.->|"Audio bleibt im Browser"| WSP -``` - -Die ursprüngliche Scanner-App unter `scanner.perinco.de` ist am 09.09.2026 -zurückgebaut worden; das CRM ist seither die einzige Instanz. +# Dokumentation perinco CRM + +Technische Dokumentation mit Funktionszeichnungen. Die Diagramme sind Mermaid und +werden von Gitea direkt gerendert. + +**Neu hier?** Wer die Anwendung *benutzen* will, fängt bei +[07 Anleitung für Benutzer](07-anleitung-benutzer.md) an. Wer daran *entwickeln* +will, bei [08 Anleitung für Entwickler](08-anleitung-entwickler.md). Beide setzen +keine Vorkenntnisse voraus. + +| Kapitel | Inhalt | +| --- | --- | +| [01 Architektur](01-architektur.md) | Topologie, Prozesse, Ports, Anfrageweg, Rollen | +| [02 Datenmodell](02-datenmodell.md) | Tabellen beider Datenbanken als ER-Diagramme | +| [03 Projekt Scanner](03-scanner.md) | Suchlauf von der Börse bis zum Treffer, Rückbau der alten App | +| [04 Diktat](04-diktat.md) | Spracherkennung im Browser, Modell-Lebenszyklus | +| [05 Frontend](05-frontend.md) | Ansichten, Menü, Komponentenkarte, Zustand | +| [06 Betrieb](06-betrieb.md) | Deployment, Umgebungsvariablen, Dienste, Störungssuche | +| [07 Anleitung für Benutzer](07-anleitung-benutzer.md) | Bedienung aller Bereiche, Schritt für Schritt | +| [08 Anleitung für Entwickler](08-anleitung-entwickler.md) | Einrichten, erweitern, bekannte Fallen | +| [09 Quellcode-Referenz](09-quellcode.md) | jede Datei, ihre Exporte und Zusagen | +| [10 Glossar](10-glossar.md) | Agent, Match, Lead, Opportunity, Status- und Portalwerte | +| [11 Postfachanbindung](11-postfach.md) | crm@perinco.de über Microsoft Graph, Kontakte aus Mails | +| [12 Globale Suche](12-suche.md) | Volltext und erweiterte Suche im Kopf der Anwendung | + +Die Designentscheidungen und die Messwerte zur Spracherkennung stehen im +[README des Projekts](../README.md). + +## Das Ganze in einem Bild + +```mermaid +flowchart TB + subgraph Browser + SPA["React-SPA
Vite-Build"] + WSP["Whisper im Web Worker
WebGPU / WASM"] + end + + subgraph Server["Server 212.227.135.41"] + AP["Apache
:443"] + API["Express-Backend
127.0.0.1:5006"] + SCH["Scanner-Scheduler
node-cron"] + MSCH["Mail-Scheduler
node-cron"] + PW["Playwright
Chromium"] + DB1[("MariaDB
perinco_CRM")] + DB2[("MariaDB
perinco_scanner")] + end + + OAI["OpenAI
gpt-4o-mini"] + BOERSE["Projektbörsen
freelancermap, hays, ..."] + GRAPH["Microsoft Graph
crm@perinco.de"] + + SPA -->|"HTTPS /api"| AP + AP --> API + API --> DB1 + API --> DB2 + SCH --> PW + PW --> BOERSE + SCH --> OAI + SCH --> DB2 + API -.-> SCH + API -.-> MSCH + MSCH -->|"Delta Query, nur lesend"| GRAPH + MSCH --> DB1 + SPA -.->|"Audio bleibt im Browser"| WSP +``` + +Die ursprüngliche Scanner-App unter `scanner.perinco.de` ist am 09.09.2026 +zurückgebaut worden; das CRM ist seither die einzige Instanz.