Fallstudie 01 / 05 · Website-Demos · interne Design-Abstimmung

S01 Website-Demos

Sechs Designrichtungen für die Firmenwebsite, erzeugt aus einer zweisprachigen Inhaltsquelle

Ein statischer Node-Generator setzt jede Richtung aus den gemeinsamen Inhalten, einem Komponenten-Baukasten und einem kleinen Rezept pro Demo zu einer vollständigen, durchklickbaren Website zusammen, auf Deutsch und in einer englischen Entwurfsübersetzung. Die Führungskraft kann sie am echten Text und an allen acht Seiten vergleichen statt an Platzhaltern. Die englischen Texte warten noch auf die Prüfung durch den Arbeitgeber. Ich habe den Auftrag festgelegt und die Galerie veröffentlicht; sie ist öffentlich, wird aber von Suchmaschinen nicht indexiert.

Node 22JavaScriptJSONGitHub ActionsGitHub PagesPlaywright
6Redesign-Demos, Deutsch plus englische Entwurfsübersetzung
96erzeugte Seiten: 6 Demos × 2 Sprachen × 8 Seiten
36Layoutvarianten in 8 Komponenten des Baukastens
119automatisierte Tests vor jedem Deployment
Rolle
Entwicklung, als Werkstudent bei S01 Projektmanagement GmbH (Auftrag, Überarbeitungen und Veröffentlichung)
Gebaut für
die Führungskraft, die eine Richtung auswählt
Plattform
statische Seite auf GitHub Pages, nicht indexiert
Status
interne Design-Abstimmung, online seit Oktober 2026
01 / warum es das gibt

Designs an echtem Inhalt vergleichen und den Kurs mit wenig Aufwand ändern

Die Führungskraft wollte Designrichtungen für die Firmenwebsite am echten Inhalt und an allen acht Seiten vergleichen, nicht an Platzhaltern: Startseite, Leistungen, Projekte, Unternehmen, Karriere, Kontakt, Impressum und Datenschutz. Eine Richtung musste also eine komplette Website sein, standardmäßig auf Deutsch mit einem Schalter für Englisch und mit einem Video in Endlosschleife im Hero-Bereich.

Der Auftrag änderte sich innerhalb von etwa zwei Wochen mehrfach, und die Firmenfarben kamen in einem einzigen Commit in jede Demo. Änderungen mussten mit wenig Aufwand möglich sein. Eine Inhaltsquelle, ein gemeinsamer Komponenten-Baukasten und ein kleines Rezept pro Demo machen aus einer neuen Richtung oder einer globalen Änderung eine kleine Anpassung, und automatische Prüfungen stoppen einen kaputten Link oder eine fehlende Übersetzung, bevor sie online gehen.

Wer sie nutzt

Die Führungskraft, die eine Richtung auswählt, und die Prüfenden, die den Link haben. Die Galerie ist öffentlich, wird aber von Suchmaschinen nicht indexiert.

Was der Betrieb kostet

Nichts: statische Dateien auf GitHub Pages, kein Backend, keine Cookies und keine Analyse, es gibt also auch keine Besucherzahlen.

02 / so funktioniert es

Wie aus Inhalt eine geprüfte, veröffentlichte Galerie wird

Architekturdiagramm: S01 Website-Demos Die zweisprachigen Texte, die Demo-Rezepte mit ihren Themes und der Komponenten-Baukasten speisen den statischen Generator. Seine Ausgabe durchläuft die Qualitätsprüfung und den CI- und Deployment-Ablauf bis zur Live-Galerie, wo die Animation im Browser die Seiten aufwertet. JSON Zweisprachige Texte DE und EN, gleiche Schlüssel JSON · CSS Rezepte und Themes Varianten, Video, Bewegung JAVASCRIPT Baukasten 8 Komponenten, 36 Varianten NODE 22 Statischer Generator erzeugt 96 Seiten + Galerie NODE:TEST Qualitätsprüfung 119 Tests + Ausgabeprüfung GITHUB ACTIONS CI und Deployment testet, baut, veröffentlicht GITHUB PAGES Live-Galerie sechs Demos, nicht indexiert CSS · JS Animation im Browser Scroll-Effekte, Übergänge 96 SEITEN STOPPT DEN BUILD NUR BEI GRÜN Architekturdiagramm: S01 Website-Demos Die zweisprachigen Texte, die Demo-Rezepte mit ihren Themes und der Komponenten-Baukasten speisen den statischen Generator. Seine Ausgabe durchläuft die Qualitätsprüfung und den CI- und Deployment-Ablauf bis zur Live-Galerie, wo die Animation im Browser die Seiten aufwertet. JSON Zweisprachige Texte DE und EN, gleiche Schlüssel JSON · CSS Rezepte und Themes Varianten, Video, Bewegung JAVASCRIPT Baukasten 8 Komponenten, 36 Varianten NODE 22 Statischer Generator erzeugt 96 Seiten + Galerie NODE:TEST Qualitätsprüfung 119 Tests + Ausgabeprüfung GITHUB ACTIONS CI und Deployment testet, baut, veröffentlicht GITHUB PAGES Live-Galerie sechs Demos, nicht indexiert CSS · JS Animation im Browser Scroll-Effekte, Übergänge 96 SEITEN STOPPT DEN BUILD NUR BEI GRÜN
  1. 1Inhalt einmal schreibenZwei Sprachdateien enthalten allen Text unter denselben Schlüsseln, und der Build bricht ab, wenn ein Schlüssel nur in einer Sprache existiert.
  2. 2Jede Demo als Rezept beschreibenEin Rezept legt Layoutvarianten, Schriften, Video und Bewegungsstufe einer Demo fest, eine Theme-Datei die Farben. Unbekannte Namen werden abgelehnt, und der Build nennt die gültigen.
  3. 3Jede Seite erzeugen 96 SEITENDer Generator holt die gewählten Varianten aus dem Baukasten und schreibt 96 Seiten plus die Galerie.
  4. 4Ausgabe prüfen STOPPT DEN BUILDEin Prüfprogramm geht das Ergebnis durch. Ein kaputter Link oder Anker, eine falsche Anzahl von h1-Überschriften, eine falsche Sprache, fehlende Navigation oder ein Theme-Kontrast unter 4,5:1 lässt den Build scheitern.
  5. 5Deployment per Push NUR BEI GRÜNBei einem Push auf main führt GitHub Actions Tests, Build und Prüfprogramm erneut aus und veröffentlicht nur, wenn alles besteht.
  6. 6Galerie öffnenWer prüft, öffnet eine Demo. Die Seite ist schlichtes, vorab erzeugtes HTML, das ein kleines Skript um Einblendungen, Parallaxe, Zähler und Seitenübergänge erweitert.
03 / datenmodell

Ein Inhaltsmodell, sechs Rezepte, 36 Varianten

Datenmodell: S01 Website-Demos Eine Sprachfassung hat mehrere Seiten, eine Seite mehrere Abschnitte und ein Abschnitt mehrere Einträge. Ein Demo-Rezept hat ein Theme und wählt für jeden der acht Slots des Baukastens eine Variante. Sprachfassung eine Datei pro Sprache PK Sprache: de oder en Website-Metadaten Seiten Seite 8 pro Sprachfassung PK Seitenschlüssel FK Sprachfassung Titel Beschreibung Hero-Bereich Abschnitt 36 pro Sprachfassung PK Schlüsselpfad FK Seite Dachzeile Überschrift Text Eintrag wiederkehrende Einträge PK Kennung oder Position FK Abschnitt Titel Text Frage und Antwort Theme eine CSS-Datei pro Demo PK Demo-Kennung Hintergrund- und Textfarben Akzentfarbe Schriften Eckenradius Demo-Rezept 6, eines pro Richtung PK Demo-Kennung Beschreibung (de, en) Eine Variante je Slot Videoclip Bewegungsstufe Variante 36 in 8 Slots PK Slot PK Name Darstellungsfunktion
  • Sprachfassung Objekt

    eine Datei pro Sprache

    • PKSprache: de oder en
    • Website-Metadaten
    • Seiten
    • 1 Sprachfassung → 8 Seiten
  • Seite Objekt

    8 pro Sprachfassung

    • PKSeitenschlüssel
    • FKSprachfassung
    • Titel
    • Beschreibung
    • Hero-Bereich
    • 1 Seite → viele Abschnitte
  • Abschnitt Objekt

    36 pro Sprachfassung

    • PKSchlüsselpfad
    • FKSeite
    • Dachzeile
    • Überschrift
    • Text
    • 1 Abschnitt → viele Einträge
  • Eintrag Objekt

    wiederkehrende Einträge

    • PKKennung oder Position
    • FKAbschnitt
    • Titel
    • Text
    • Frage und Antwort
  • Theme Objekt

    eine CSS-Datei pro Demo

    • PKDemo-Kennung
    • Hintergrund- und Textfarben
    • Akzentfarbe
    • Schriften
    • Eckenradius
  • Demo-Rezept Objekt

    6, eines pro Richtung

    • PKDemo-Kennung
    • Beschreibung (de, en)
    • Eine Variante je Slot
    • Videoclip
    • Bewegungsstufe
    • 1 Rezept → 1 Theme
    • 1 Rezept → 8 Varianten, eine pro Slot
  • Variante Objekt

    36 in 8 Slots

    • PKSlot
    • PKName
    • Darstellungsfunktion

Vereinfacht: 7 von 12 Objekten. Weggelassen: Website-Metadaten, Seitenkürzel (Slugs), Videoclips, Fotos und das Slot-Register. Die 96 Ausgabeseiten (6 Rezepte × 2 Sprachfassungen × 8 Seiten) werden erzeugt, nicht gespeichert.

Deutsch und Englisch laufen nicht auseinander

Der Build scheitert, wenn ein Schlüssel nur in einer Sprache existiert: je 424 Schlüssel.

Eine neue Richtung ist eine kleine Datei

Ein Rezept in JSON und eine Theme-Datei mit Farben und Schriften genügen; Inhalt und Baukasten bleiben unverändert.

Jede Ausgabeseite wird geprüft

Die 96 Seiten werden erzeugt, nicht gespeichert, und jede einzelne durchläuft das Prüfprogramm, bevor sie veröffentlicht wird.

04 / entscheidungen

Abwägungen, die den Aufbau bestimmt haben

Eine Inhaltsquelle, überall dieselbe Struktur

Der gesamte Text liegt in zwei Sprachdateien mit identischen Schlüsseln; Seitenumfang und Reihenfolge der Abschnitte sind im Code festgelegt. Wer prüft, vergleicht Design statt Text, und die beiden Dateien können nicht auseinanderlaufen. Abwägung: Jede Demo hat dieselben Seiten in derselben Reihenfolge.

Rezepte, Baukasten und Theme-Variablen

Eine Demo besteht aus einem kleinen Rezept und einer Theme-Datei; der Baukasten enthält acht austauschbare Komponenten als einfache Funktionen, die HTML liefern. Neue Richtungen und globale Änderungen werden zu kleinen Anpassungen. Abwägung: Alle Demos teilen sich ein Markup-Gerüst und unterscheiden sich nur so weit, wie Varianten und Stile es erlauben.

Vorab erzeugte Seiten hinter einer Prüfschranke

Node schreibt schlichtes HTML für jede Demo, Sprache und Seite, mit relativen Links, sodass die Seite unter einem GitHub-Pages-Unterpfad und lokal funktioniert. GitHub Actions führt Tests, Build und Prüfprogramm aus, bevor es veröffentlicht. Abwägung: Es gibt kein CMS und kein Backend, die Demo-Formulare senden also nichts, und die Playwright-Layoutprüfungen laufen nur lokal.

Bewegung als Zusatz

Einblendungen, Parallaxe und Seitenübergänge laufen nur, wenn keine reduzierte Bewegung eingestellt ist; eine Demo wählt zusätzlich eine filmische Stufe. Ohne Skripte, mit reduzierter Bewegung und beim Drucken bleiben alle Inhalte sichtbar. Abwägung: mehr Laufzeitcode zu pflegen, und Seitenübergänge gibt es nur in neueren Versionen von Chrome und Safari.

05 / mein beitrag

Was ich gemacht habe

  • Den Auftrag festgelegt und die wichtigsten Weichen gestellt: eine zweisprachige Website, alle acht Seiten, ein Video im Hero-Bereich, ein Generator mit gemeinsamem Komponenten-Baukasten und öffentliche Links.
  • Über jede spätere Überarbeitung entschieden, von den Firmenfarben in jeder Demo bis zum Bewegungssystem.
  • Repository, GitHub Pages und Deployment-Ablauf verantwortet und jede Aktualisierung in der öffentlichen Galerie veröffentlicht.
  • Die Vorgaben der Führungskraft zu den Referenzdesigns in das Projekt eingebracht.
  • Die sechs Richtungen als öffentliche Links zur Prüfung durch die Führungskraft bereitgestellt.
06 / ergebnis

Sechs Designrichtungen online, in interner Design-Abstimmung

Sechs Designrichtungen sind online und liegen der Führungskraft zur Prüfung vor, in einer öffentlichen Galerie, die seit Oktober 2026 besteht. Gebaut wurden sie im Oktober 2026, in 109 Commits innerhalb von 15 Tagen, und veröffentlicht wird nur, wenn alle 119 Tests und das Prüfprogramm bestehen. Stand: interne Design-Abstimmung.

Live-Demo öffnen