Skip to content

Architektur

EuroDMS ist ein modularer Monolith mit einem Zwei-Ebenen-Modell für Infrastruktur und Integrationen:

  • Ebene 1 — Eingebettete OSS-Komponenten: Keycloak (IAM), Temporal (Workflows), Novu (Notifications), SigNoz/OTel (Observability), APISIX (API-Gateway), Infisical (Secrets), Mayan EDMS (Dokumente), Frappe HR / Kimai (HR/Zeit), PostgreSQL, Valkey, Kafka, MinIO, OpenSearch, ClickHouse.
  • Ebene 2 — Provider-Adapter: Optionale Drittsystem-Anbindungen pro Kunde (z. B. ATBAS/ALFAH für Teilelogistik). Adapter leben im fachlich zuständigen Modul und implementieren das Port-Interface.
  • Features liegen ausschließlich in modules/<name>/.
  • Keine direkten Cross-Modul-Imports.
  • Kommunikation zwischen Modulen nur über api/routes/ (HTTP) oder Public-API-Exports (index.ts).
  • Tenant-Isolation auf jeder Entität und jedem Endpunkt.
  • Jede Quelldatei beginnt mit dem Property-Header (Property of Ralf Carsjens - created in order to fulfill ISO 27001).
  • Jede Modul-Änderung wird in docs/compliance_log.md protokolliert.
  • Keine Secrets im Code (Infisical / .env), keine PII in Logs.
  • Strikte Input-Validierung an allen Endpunkten.
  • 29 Module unter modules/
  • 1254 HTTP-Endpunkte unter api/routes/
  • Module — Inventar aller Fachmodule mit Services, Repositories und State Machines.
  • API-Referenz — alle HTTP-Endpunkte gruppiert nach Route-Gruppen.
  • Frontend — Web-Module, Pages und API-Wrapper.
  • Development Workflow — Repo-Struktur, Commands, Testing.
  • Tooling & Scripts — alle pnpm-Scripts im Überblick.
  • Testing — Test-Pyramide und Konventionen.