Gutzkowclub e.V. — Website
Öffentliche Website von Dresdens ältestem Studentenclub (seit 1964): Programm, Getränkekarte, Geschichte, Kontakt.
Der Gutzkowclub e.V. betreibt seit 1964 Dresdens ältesten Studentenclub. Die öffentliche Website zeigt Vereinsgeschichte, Programm, Getränkekarte, Team und Kontakt — als drittes System neben der internen Vereinsverwaltung (Gutz Intern) und dem zentralen Redaktions-Admin (Gutz Admin), mit denen sie sich synchronisiert statt eigene Insellösungen zu pflegen.
Galerie
Case Study
Ausgangslage
Der Altbestand lag als WordPress-Export vor. Die neue Website musste als drittes System in einer bestehenden Drei-Apps-Landschaft funktionieren, ohne dass Redakteur:innen — Vereinsmitglieder ohne Entwickler-Hintergrund — Inhalte im Code pflegen müssen.
Herausforderung
Eine nächtliche Cross-System-Synchronisation (Google-Kalender → interner Kalender → Duplikat-Bereinigung → Diff-Check → Rück-Push der öffentlichen Events, 01:15–03:30 Uhr) musste robust und überlappungssicher laufen. Dazu kam die automatisierte Migration jahrzehntealter WordPress-Inhalte inklusive Filterung privater Kategorien und Bereinigung von Gutenberg-Shortcodes. Das ursprünglich in dieser App enthaltene Filament-Admin-Panel wurde später vollständig entfernt und die Redaktion in die separate Gutz-Admin-App ausgelagert — eine bewusste Entkopplung von Frontend und Content-Pflege.
Vorgehen
Laravel (Start mit Version 12, mittlerweile auf 13 aktualisiert), PHP 8.4, Blade-Templates ohne SPA-Framework, Tailwind CSS 4 und Vite 7. Kein CMS mehr im eigenen Repository — Inhaltspflege läuft über Gutz Admin, während gutz-web für Daten wie die Getränkekarte teils direkt aus der Gutz-Intern-Datenbank liest.
Entscheidungen
Filament-Admin aus dem Public-Frontend entfernt; Redaktion läuft über die separate Gutz-Admin-App, das reduziert Kopplung und Angriffsfläche im öffentlichen Teil.
Ein Redaktionswechsel soll sofort sichtbar sein; die Cache-Stores der drei Apps sind bewusst nicht geteilt.
Ein eigener geplanter Job vergleicht beide Kalenderquellen und meldet Divergenzen aktiv, statt sie stillschweigend zu tolerieren.
Honeypot, Zeitfalle und Rate-Limiting für das Kontaktformular statt eines externen Captcha-Dienstes.
Vier parallele Read-only-Audits (Backend, UI/UX, Frontend-Assets, SEO/Config) dokumentiert — mit konkret benannten offenen Findings statt einer Blackbox.
Eigenanteil
Alle 131 Commits stammen von Felix Schattenberg, solo umgesetzt.
Ergebnisse