Dieser Artikel ist Teil der Friends4-Enzyklopädie und wird nach Wiki-Prinzipien gepflegt, geprüft und versioniert.
Architektur-Richtlinien (Friends4)
Ziele Klar getrennte Verantwortlichkeiten je Datei/Modul. Konsistente Pfade und Dateinamen. Möglichst featurenahe Bündelung zusammengehöriger Logik. Aktuelle Strukturregeln 1. DomänenModelle liegen unter src/models/. Beispiel: src/models/forumModel.js. 2. Routen liegen unter src/routes/ und nutzen klare Ordnernamen ohne Dateiendung im Ordnernamen. Beispiel: src/routes/report/index.js. 3. src/server.js ist der Kompositionspunkt. Neue Hilfsfunktionen/Logik möglichst in src/services, src/middleware
Architektur-Richtlinien (Friends4)
Ziele
- Klar getrennte Verantwortlichkeiten je Datei/Modul.
- Konsistente Pfade und Dateinamen.
- Möglichst feature-nahe Bündelung zusammengehöriger Logik.
Aktuelle Strukturregeln
1. **Domänen-Modelle liegen unter `src/models/`**.
- Beispiel: `src/models/forumModel.js`.
2. **Routen liegen unter `src/routes/` und nutzen klare Ordnernamen ohne Dateiendung im Ordnernamen**.
- Beispiel: `src/routes/report/index.js`.
3. **`src/server.js` ist der Kompositionspunkt**.
- Neue Hilfsfunktionen/Logik möglichst in `src/services`, `src/middleware` oder `src/utils` auslagern.
Naming-Konventionen
- Controller: `*Controller.js`
- Service: `*Service.js`
- Model: `*Model.js`
- Socket-Handler: `src/sockets/*.js`
- Route-Einstiege: `src/routes/<feature>/index.js` oder `src/routes/<feature>.js`
Import-Regeln (Richtung)
- `routes` -> `controllers`/`middleware`
- `controllers` -> `models`/`services`/`utils`
- `models` importieren keine `controllers`
- `server.js` darf alle Ebenen komponieren
Nächste sinnvolle Schritte
- `src/server.js` weiter in Bootstrapping-Module aufteilen (HTTP-App, Sockets, Lifecycle).
- Optional: Feature-Slices (`src/modules/<feature>/...`) für größere Bereiche wie Forum/Worldchat.
Hinweise
Nutze diesen Artikel als Orientierung. Bei Regeln gilt die aktuell freigegebene Version und bei Unsicherheit die Moderation.
Warnungen
Melde veraltete, missverständliche oder sicherheitsrelevante Informationen direkt über das Formular.
Diskussion
Die Diskussionsseite ist für konkrete Verbesserungsvorschläge gedacht: fehlende Abschnitte, unklare Formulierungen, Quellenhinweise oder Korrekturen. Sie ist keine Chatfunktion.
Bilder und Downloads
Optionale Medien, Grafiken oder Downloads können über strukturierte Daten und zukünftige Dateifreigaben ergänzt werden.