2.4 KiB
2.4 KiB
Ordnerstruktur und Grundregeln
Grundsatz
Die Ordnerstruktur soll sich so nah wie sinnvoll an der bestehenden Nexus-Struktur orientieren.
Beibehaltene Strukturidee
/public/-> Web Root, globale Assets und Einstieg/api/-> Backend- und API-Endpunkte/src/-> Kernlogik, Services, Utilities/config/-> Umgebungs-Configs/modules/<modul>/-> klassische Module/partials/structure/-> globale Layout-Bausteine/partials/landingpages/-> Seiten oder Views/tools/-> Worker, CLI, Hilfstools/debug/-> Debug-Ausgaben
Neue zusätzliche Bereiche für die Desktop-UI
Empfohlene Ergänzungen:
/src/Desktop/- Window Manager
- Desktop Registry
- Skin Resolver
- Widget Layout Engine
/public/assets/desktop/- globale Desktop-CSS
- JavaScript für Fenster, Dock, Tray, Desktop-Interaktion
/partials/desktop/- Desktop Shell
- Window Templates
- Dock
- Tray
- Menu
Optional für die Übergangsphase:
/Old-Nexus/- komplette Altbasis zur Sichtprüfung und als Entwicklungserinnerung
- nur temporär
Wichtige Regel
Die klassische Modulstruktur bleibt erhalten.
Das bedeutet:
- Module bleiben unter
/modules/<modul>/ - der neue Desktop-Layer ist nur die neue Oberfläche
- Module dürfen nicht ungeordnet in den Desktop-Core verschoben werden
- gemeinsame Desktop-Mechaniken liegen nicht in Modulen, sondern im globalen Kern
Trennung
Es gibt drei Ebenen:
- globales System
- Desktop-UI-Schicht
- klassische Module
Was nicht passieren soll
- keine Vermischung von Fenster-Manager-Code mit Modulbusinesslogik
- keine Skin-spezifischen Sonderlösungen in einzelnen Modulen
- keine harte Kopplung zwischen alter Seitenstruktur und neuem Desktop-Verhalten
- keine technische Abhängigkeit zu
Old-Nexus/ - keine Includes, Imports, Autoloading-Pfade oder Assets aus
Old-Nexus/
Architekturregel
Die neue Oberfläche muss so gebaut sein, dass:
- Module später als Fenster gerendert werden können
- Apps, Widgets und Seitenmodule aus einer gemeinsamen Registry kommen
- Skins ausschließlich Layout, Stil und Interaktionsdetails definieren
Sonderregel für Old-Nexus/
Wenn Old-Nexus/ im neuen Projekt vorhanden ist, dann gilt verbindlich:
- nur lesen und vergleichen
- niemals direkt einbinden
- niemals als Referenzpfad im Produktivcode verwenden
- niemals als Dauerbestandteil der neuen Architektur einplanen
- nach Abschluss der Umsetzung wieder entfernen