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:
- ADR-009 – Prisma-Schema als technische Wahrheit
- ADR-010 – Prisma-Migrationen als Deploymentverfahren
- ADR-012 – Providerneutrale RLS-Strategie
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: