CS / 05Case-Study

WebLabs — die Seite, auf der Sie gerade sind

Dieses Portfolio: Next.js mit App Router, ein Designsystem aus Token, serverseitig validiertes Kontaktformular und containerisiertes Deployment über Coolify.

Rolle
Konzept, Designsystem, Umsetzung, Tests, Deployment — eigenständig
Zeitraum
2026
Status
Diese Seite
Erreichbar unter
Keine öffentliche Instanz

Zentrale Architekturentscheidung

Keine Datenbank. Inhalte sind typisierte Daten im Repository und damit testbar.

01 / System

Kontext, Problem und Umsetzung.

01 / Kontext

Systemrahmen

Kein Content-Management-System und keine Datenbank, weil beides für diesen Umfang nur Betriebsaufwand wäre. Inhalte liegen als typisierte Daten im Repository — dadurch prüfen Tests, dass jede Case-Study vollständig ist und kein Link ins Leere zeigt.

02 / Problem

Ausgangslage

Ein Portfolio soll nicht nur Projekte auflisten. Es braucht schnelle, zugängliche Seiten, strukturierte Inhalte, einen verlässlichen Kontaktweg und eine Grundlage, die sich später erweitern lässt — ohne dass man dafür heute schon eine Datenbank betreiben muss.

03 / Umsetzung

Technischer Ansatz

Next.js App Router mit statisch erzeugten Seiten. Die Farb-, Abstands- und Bewegungsebene besteht vollständig aus CSS-Custom-Properties; kein Bauteil enthält einen rohen Wert. Beide Themes sind getrennt entworfen statt invertiert, weil eine invertierte Palette immer eine Stelle hat, die kippt — hier wäre es der Akzent gewesen.

02 / Decisions

Zentrale technische Entscheidungen.

Nicht nur was gebaut wurde, sondern warum das System genau diese Form bekommen hat.

  1. Kontraste werden gerechnet, nicht geschätzt.

    Ein Test liest die Token-Datei, konvertiert jede oklch-Farbe nach sRGB und prüft jedes Textpaar gegen 4.5:1 und jeden Bedienelementrand gegen 3:1. Ein zu blasser Grauton fällt damit im Testlauf auf, nicht beim Nutzer.

  2. Der Hellmodus hat einen eigenen Akzentwert.

    Dasselbe Orange erreicht auf dunklem Grund 6.4:1 und auf hellem Papier 2.9:1. Invertieren hätte die Seite im Hellmodus unlesbar gemacht. Der Hellmodus bekommt deshalb ein dunkleres Orange derselben Familie.

  3. Das Kontaktformular behauptet keinen Erfolg.

    Ohne konfiguriertes SMTP meldet es einen Fehler und bietet den direkten Mailto-Weg an, statt eine grüne Bestätigung für eine Nachricht anzuzeigen, die nie versendet wurde.

  4. Inhalte als typisierte Daten, nicht als JSX pro Seite.

    Damit ist eine fehlende Case-Study-Sektion ein Typfehler und ein toter Link ein fehlgeschlagener Test — statt etwas, das man beim Durchklicken hoffentlich bemerkt.

03 / Delivery

Stack und belegbare Grenze.

Technologien

  • Next.js
  • React
  • TypeScript
  • SCSS Modules
  • Vitest
  • Docker
  • Coolify

Ehrliche Grenze

Diese Seite hat bewusst kein Backend und keine Datenbank. Buchungen, Zahlungen und ein Adminbereich sind für einen späteren Ausbau vorgesehen, aber heute nicht vorhanden — sie hier zu behaupten wäre falsch.