Zum Inhalt

DiveLogix360 – Architekturüberblick

Stand: 12.08.2026 16:55 Branch: main Status: Aktiv

Datum, Uhrzeit Version Änderung Autor
12.08.2026 16:55 1.0 Technisches Gesamtbild für Projektbeteiligte zusammengefasst Codex

Einordnung: Diese Seite erklärt die Architektur auf Überblicksebene. Verbindliche technische Entscheidungen stehen im ADR-Register; technische Wahrheit des Datenmodells ist backend/prisma/schema.prisma.

Technisches Zielbild

DiveLogix360 ist als mandantenfähige Webanwendung aufgebaut. Eine browserbasierte Benutzeroberfläche kommuniziert mit einer zentralen Programmierschnittstelle. Die Geschäftslogik greift über Prisma auf PostgreSQL zu. Ergänzende Dienste übernehmen abgegrenzte Aufgaben wie E-Mail, Objektspeicherung, Schlüsselverwaltung und Monitoring.

flowchart TD
    A["React-PWA"] --> B["NestJS-API"]
    B --> C["Prisma und PostgreSQL"]
    B --> D["Privater Objektspeicher"]
    B --> E["E-Mail, Schlüssel und Monitoring"]

Die Darstellung ist bewusst vereinfacht. Sie legt keine von den Architecture Decision Records abweichenden Schnittstellen oder Verantwortlichkeiten fest.

Technologie-Stack

Bereich Technologie oder Ziel
Benutzeroberfläche React und TypeScript als Progressive Web App
Backend Node.js und NestJS
Datenzugriff Prisma
Datenbank PostgreSQL
Entwicklungsdatenbank Supabase
Produktivbetrieb Hetzner Cloud als vorgesehenes Hosting

Der aktuelle Implementierungsschwerpunkt liegt im Backend und Datenbankbereich von UC00. Das Frontend ist laut Projektstatus noch offen.

Zentrale Architekturprinzipien

Prinzip Bedeutung
Mandantenfähigkeit Daten und Zugriffe jeder Tauchschule werden voneinander getrennt.
Row-Level Security PostgreSQL erzwingt zusätzlich zur Anwendungsebene tenantbezogene Datenzugriffe.
Transaktionsgebundener Kontext Tenant-, Benutzer- und Request-Kontext werden für Datenbankzugriffe innerhalb derselben Transaktion gesetzt.
Mobile First und PWA Die Oberfläche ist für mobile Nutzung direkt am Equipment vorgesehen.
Offline-First Zentrale Arbeitsabläufe sollen auch bei eingeschränkter Verbindung unterstützt werden; der genaue V1-Umfang ist noch zu konkretisieren.
Modularität Fachfunktionen werden als abgegrenzte Use-Case-Module aufgebaut.
Datenschutz und Nachvollziehbarkeit Datenminimierung, Aufbewahrung, Auditierung und kontrollierte Zugriffe werden von Beginn an berücksichtigt.
Nicht erratbare Ressourcenkennungen Ressourcen werden über UUIDs statt sequenzieller Kennungen adressiert.

Mandanten- und Zugriffsmodell

Die Plattform unterscheidet plattformweite und tenantbezogene Zugriffe. Superadmin-Funktionen benötigen einen getrennten technischen Zugriffspfad. Tenantbezogene Prozesse verwenden einen eigenen Runtime-Zugang und einen transaktionsgebundenen Kontext. Fehlende oder identische Zugangskonfigurationen sollen zum Startabbruch führen.

Die massgeblichen Entscheidungen stehen insbesondere in:

Daten- und Schnittstellenführung

Informationsart Massgebliche Quelle
Datenmodelle und Relationen backend/prisma/schema.prisma
Datenbankänderungen versionierte Prisma-Migrationen mit geprüften PostgreSQL-Ergänzungen
Fachliche Regeln jeweilige Use-Case-Spezifikation
Schnittstellen API-Gesamtübersicht und zugehörige OpenAPI-Dokumente
Architekturentscheidungen ADR-Register
Implementierungsstand Projektstatus

Abgeleitete SQL- oder Schema-Dokumente sind keine zweite technische Wahrheit.

Ergänzende Dienste und Schutzbereiche

Für UC00 sind unter anderem Entscheidungen zu folgenden Bereichen dokumentiert:

  • private Ablage von Vertragsdokumenten im Objektspeicher;
  • externe Schlüsselverwaltung;
  • revisionsfähige Auditierung;
  • Backup und Wiederherstellung;
  • Monitoring und Kostenkontrolle;
  • Malware-Prüfung hochgeladener Vertragsdokumente;
  • kontrollierte Support-, Wartungs- und Notfallzugriffe;
  • E-Mail-Versand.

Die Auswahl oder Dokumentation eines Dienstes ist noch kein Produktivnachweis. Verträge, Konfiguration, technische Wirksamkeit, Regionen, Zugriffsrechte und Betriebsprozesse müssen separat geprüft und freigegeben werden.

Sicherheits- und Compliance-Abgrenzung

Sicherheits- und Datenschutzanforderungen werden in Architekturentscheidungen, Compliance-Dokumenten, Use-Case-Abnahmekriterien und Tests nachgeführt. Diese Übersicht enthält keine eigenständige Sicherheitsfreigabe.

Weiterführende Quellen: