Tech Demo

Vereinsplaner

Mitgliederverwaltung mit CRUD, Live-Suche, Echtzeit-Validierung und Trainingsplaner.

Unter der Haube

Doctrine ORM

Vier Entities mit ManyToOne, OneToMany und einer Pivot-Entity (TrainingAttendance) für die n:m-Beziehung zwischen Training und Mitglied mit Zusatzfeld (Status). Aggregation-Queries mit COUNT, SUM CASE WHEN und GROUP BY für die Anwesenheitsquote.

Live Components

Suche, Sortierung und Paginierung der Mitglieder laufen als Live Component — bei jedem Tastendruck wird serverseitig gerendert und der DOM automatisch aktualisiert, komplett ohne eigenes JavaScript. Formular-Validierung läuft ebenfalls als Live Component in Echtzeit.

Responsive Dual-Layout

Mitglieder und Trainings werden auf Mobilgeräten als Cards, auf Desktop als sortierbare Tabellen dargestellt. Zwei getrennte Render-Pfade pro Breakpoint mit eigener Sortier-UI — Pill-Buttons auf Mobile, klickbare Spaltenköpfe auf Desktop.

Symfony Forms

Das Trainingsformular im Trainingsplaner nutzt den klassischen Symfony handleRequest-Flow als Gegenstück zu den Live Components. Validierung läuft über Assert-Constraints direkt auf den Entities.

12 Mitglieder · Seite 1 von 3

Anna Hoffmann

anna@example.com

Mitglied
Lauftreff
Bearbeiten

Mitglied löschen?

Anna Hoffmann wird unwiderruflich gelöscht.

Felix Braun

felix@example.com

Spieler
A-Jugend · Stürmer
Bearbeiten

Mitglied löschen?

Felix Braun wird unwiderruflich gelöscht.

Jan Becker

jan@example.com

Spieler
Erste Mannschaft · Verteidiger
Bearbeiten

Mitglied löschen?

Jan Becker wird unwiderruflich gelöscht.

Kai Wagner

kai@example.com

Mitglied
Lauftreff · 0176-6789012
Bearbeiten

Mitglied löschen?

Kai Wagner wird unwiderruflich gelöscht.

Laura Klein

laura@example.com

Spieler
A-Jugend · Torwart · 0174-4567890
Bearbeiten

Mitglied löschen?

Laura Klein wird unwiderruflich gelöscht.