88 lines
2.4 KiB
Markdown
88 lines
2.4 KiB
Markdown
# 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:
|
|
|
|
1. globales System
|
|
2. Desktop-UI-Schicht
|
|
3. 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
|