Architektur-Übersicht — Medidentas
Kernaussage: Ein Cloudflare Worker bedient UI (Angular, als Static Assets) und /api auf
einer Subdomain (app.medidentas.com), hinter Cloudflare Access. Der Worker hält selbst nur
Prozesszustand + Referenzen in D1; Dokumente/Unterschriften/Kundenstamm liegen bei angebundenen
Standard-Werkzeugen (System-Charakter, System-Charakter.md §3). Diese Datei
zeigt die technische Laufzeit-Topologie; die fachliche Orchestrierung/Schichten-Sicht steht in
System-Charakter.md (nicht dupliziert).
Grobe Systemstruktur
Lesehilfe: durchgezogen = gebaut & aktiv, gestrichelt = angebunden aber (Stand heute) teilweise noch
Fake/optional (NextCloud real nur mit gesetzten Secrets, Signatur nur fake-Provider, CRM nur als Link
referenziert — docs/architektur/Stack.md §Entscheidung). Die vier öffentlichen Kundenstrecken sind die
dokumentierte, begründete Ausnahme von der Golden Rule (CLAUDE.md §Compliance). Bei jeder
architektonischen Änderung (neuer Provider, neue Datenhaltung) hier zuerst nachziehen.
Gemeinsamer Code (MED-D-381): shared/dexman-kern/ ist ein abhängigkeitsfreies TypeScript-Modul, das der
Worker (verbindliche Werte, Hebel) und der Angular-Client (Was-wäre-wenn ohne Server-Rundreise) einbinden
(Client über den Pfad-Alias @dexman-kern). Dexman-Daten liegen in D1 im eigenen Namensraum dexman_*
(Tool-Isolation R10, W-3); Ist-Umsätze in der Kern-Faktentabelle praxis_jahreswert. Kein neuer Dienst, kein
neuer Provider.
Software-Stückliste (SBOM)
- Format: CycloneDX (
sbom-server.cdx.json/sbom-client.cdx.json), je ausserver/undclient/erzeugt (npm sbom --sbom-format cyclonedx). - Erzeugung: Schritt „SBOM erzeugen" in
.github/workflows/app-deploy.yml— einmal je App-Deploy (= exakt der ausgelieferte Release-Stand, nutzt die installierten Deps; seit MED-D-327, vorher eigener CI-Job jemain-Push; analog TaktanoOP-SBOM-1). - Auffindbar: GitHub Actions → Workflow "App Deploy" → letzter Lauf → Artefakt
sbom-cyclonedx(laufen nach 90 Tagen ab — der Weg über Actions ist der stabile Zugang, kein Dauerlink). - Zweck: Audit-/Zertifizierungs-Bereitschaft laufend statt erst zum Audit-Termin; schnelle Antwort auf "sind wir von CVE X betroffen?".