Architektur im Überblick
Worum geht es?
Kurz gesagt: Illumentis besteht aus einer Web-App im Browser, einer Schnittstelle auf dem Server, einer Datenbank, einer Suche und Hintergrundarbeiten. Das Wiki ist ein eigenes System. Wir beschreiben die Bausteine vereinfacht und nennen bewusst keine Versionen und keine Aufstellung der Server.
Schutzziel
Du sollst verstehen, woraus Illumentis besteht und wo welche Daten bearbeitet werden, ohne dass wir Angreifern eine Landkarte liefern.
Funktionsprinzip
Der Weg einer Eingabe: Du schreibst im Browser, die App sichert lokal und schickt den Text über eine verschlüsselte Verbindung an die Schnittstelle. Diese prüft Rechte, verarbeitet die Anfrage und speichert Texte verschlüsselt in der Datenbank.
| Baustein | Aufgabe | Technik |
|---|---|---|
| Oberfläche | Die App im Browser: Seiten, Zustand, Editor | Vue 3, Pinia, Tailwind CSS, TipTap |
| Offline-Teil | Installierbarkeit, lokale Sicherung, Abgleich | Service Worker, IndexedDB (Dexie) |
| Schnittstelle | Rechteprüfung, Geschäftsregeln, REST-Schnittstelle (JSON) | Symfony, API Platform |
| Datenbank | Speicherung, getrennt nach Projekten | PostgreSQL |
| Suche | Volltextsuche in deinen Inhalten | TNTSearch |
| Hintergrundarbeiten | Exporte, Prüfläufe und andere längere Aufgaben | Symfony Messenger |
| Dokumente | Export als Word-Dokument und E-Book | PHPWord, EPUB 3 |
| Wiki und Website | Diese Seiten, getrennt von der App | Sulu |
Maßnahmen
- Wir halten die Teile getrennt: Die Architekturregeln legen fest, welche Teile voneinander abhängen dürfen, und werden bei jeder Änderung geprüft.
- Die Hintergrundarbeiten laufen über die Datenbank als Warteschlange und brauchen keinen zusätzlichen Dienst.
- Die Rechtschreib- und Grammatikprüfung läuft über eine eigene Instanz von uns. Der Text verlässt dafür den Browser nur in Richtung unserer eigenen Infrastruktur.
- Das Wiki ist von der App getrennt und hat keinen Zugriff auf deine Projektdaten.
Was wir nicht versprechen
- Die Beschreibung ist vereinfacht und nicht abschließend. Sie zeigt die großen Bausteine, nicht jedes Detail.
- Versionen, Aufstellung der Server und Hosting-Details nennen wir bewusst nicht.
- Eine Technologie, die hier steht, ist im Einsatz. Das heißt nicht, dass wir sie für alle Zeit behalten.
Wie wir das prüfen
Die Architekturregeln prüft Deptrac bei jeder Änderung, die statische Analyse übernimmt PHPStan. Mehr dazu unter „So prüfen wir“. Dieser Artikel stützt sich auf unsere Projektdokumentation und nicht auf einen eigenen Test.
Änderungsverlauf
- : Erste Fassung.