diff --git a/Coding-Guideline.md b/Coding-Guideline.md index ffb9cee..14db89f 100644 --- a/Coding-Guideline.md +++ b/Coding-Guideline.md @@ -6,7 +6,7 @@ 2. die benötigten Datenstrukturen sind klar - evtl. dazu innerhalb der Konzeptphase gemeinsam Datenstruktur erarbeiten -## Aufbau des Backends (tibi-admin) +## Konzeption des Backends (tibi-admin) ### Ableiten der Kollektionen @@ -20,19 +20,7 @@ - mongoDB im Gegensatz zu relationalen Datenbanken sehr gut mit eingebetteten Daten innerhalb von Objekt-Strukturen zurecht kommt - jedoch, Daten auf nötige Kollektionen aufteilen um Backend-Masken nicht zu überladen -### Definition von Modulen - -- Festlegen was statische Template-Elemente sind und was Module sind, die in Seiteninhalten wiederverwendet werden können -- Einteilen der Module nach Typen, z.B. - - Mitarbeiterliste - - News-Teaser-Liste -- zu den jeweiligen Modulen Ausprägungen und die damit verbunden Einstellmöglichkeiten festhalten, z.B. - - Anzahl der Einträge in einer Liste - - Darstellungsart der Liste - - Filterung der Einträge - - Sortierung der Einträge - -### Beispiel +#### Beispiel - **Navigation** als eigene Kollektion - **Inhalte** der Website alle zusammen in ein Kollektion, da @@ -45,4 +33,32 @@ - Dateien können kann über Foreign-Key-Beziehung in anderen Kollektionen verknüpft und wiederverwendet werden - **Module**-Kollektion zur Verwaltung der Einstellungen benötigter Frontend-Module, z.B. - ein Modul kann z.B. eine Teaser-Liste des Inhaltstyps "News" sein, welcher in der Inhalte-Kollektion gespeichert ist - - Einstellungen zu einem Modul könnten z.B. Filterkriterien und die Sortierung für das Listing sein \ No newline at end of file + - Einstellungen zu einem Modul könnten z.B. Filterkriterien und die Sortierung für das Listing sein + +#### Priorisierung und Kategorisierung der Datenfelder + +- Einteilung der Datenfelder in Gruppen + - Meta-Daten (sind also nicht direkt sichtbar -> SEO oder Zusatzinformationen) + - Daten die Überblick schaffen (Titel, Teaser-Text) + - allgemeiner Inhalt (Detailtext) + - spezifischer Inhalt (Datum, Uhrzeit bei z.B. Veranstaltungen) + +### Definition von Modulen + +- Festlegen was statische Template-Elemente sind und was Module sind, die in Seiteninhalten wiederverwendet werden können +- Einteilen der Module nach Typen, z.B. + - Mitarbeiterliste + - News-Teaser-Liste +- zu den jeweiligen Modulen Ausprägungen und die damit verbunden Einstellmöglichkeiten festhalten, z.B. + - Anzahl der Einträge in einer Liste + - Darstellungsart der Liste + - Filterung der Einträge + - Sortierung der Einträge + +### Entwurf der Backend-UI + +- Kollektionen und Feld-Gruppen geben groben Rahmen vor +- Aufteilung der Feldgruppen in Tabs oder Sektionen +- Ein-/Ausblenden von Feldern in Abhängigkeit anderer Eingaben, wie z.B. Typ des Inhalts (News blendet Datum ein) +- hierbei sollte der Projektleiter, der die Kunden-nähe hat, unbedingt unterstützen +