# Club-Produkt: Ausbau und Absicherung Stand: 2026-06-25 ## Ziel Die vorhandenen Club-Module sollen nicht mehr nur "vorhanden", sondern im Alltag stabil und nachvollziehbar nutzbar sein. Der Schwerpunkt liegt jetzt auf zwei Dingen: - Ausbau der noch klar erkennbaren Restthemen. - Absicherung der bereits fertig wirkenden Arbeitsbereiche gegen Kantenfaelle, Rechteprobleme und unklare Zustande. ## Aktueller Fokus - Kommunikation - Historie - Archiv - Restliche Club-UI-Absicherung in den Kernviews - Danach erst das `mein-tt.de`-Produkt inhaltlich weiter ausbauen ## Arbeitsreihenfolge ### Phase 1: Absicherung der bestehenden Club-Views Status: in Arbeit Ziel: - Keine haengenden Formulare bei Reload, Clubwechsel oder Auswahlwechsel. - Read-only-Zustaende sind sichtbar und verhindern keine Navigation. - Lade- und Fehlermeldungen sind konsistent und eindeutig. Konkrete Teilaufgaben: - `ClubTasksView.vue`: Sicherstellen, dass `selectedTask` und `form` beim Clubwechsel, bei leerer Liste und nach Loesch-/Archivaktionen sauber getrennt werden. - `ClubCommunicationView.vue`: `selectedThread`, `threadForm`, `groupForm`, `templateForm` und `messageForm` beim Clubwechsel und nach Auswahlwechseln komplett zuruecksetzen. - `ClubAccountsView.vue`: `selectedAccount`, `selectedTransaction`, `form` und `transactionForm` in jedem Ruecksprung sauber bereinigen. - `ClubInvoicesView.vue`: `selectedInvoice`, `selectedParty`, `invoiceForm` und `partyForm` beim Clubwechsel und bei leeren Selektionen auf Default bringen. - Read-only-Hinweise auf jeder der vier Views vereinheitlichen, damit ein Nutzer mit fehlenden Rechten nicht erst in die Formulare klickt, um zu merken, dass keine Bearbeitung moeglich ist. - Ladezustände und Fehlerbanner auf eine einheitliche Form bringen, damit Reload und Fehlerfall nicht unterschiedlich wirken. - Ein kurzer Smoke-Check je View nach der Aenderung: Liste laden, Element auswaehlen, Auswahl loeschen, Club wechseln, erneut laden. Gepruefte Kantenfaelle: - Club wird gewechselt, waehrend ein Detailformular offen ist. - Datenquelle liefert eine leere Liste und der zuletzt selektierte Datensatz existiert nicht mehr. - Nutzer hat nur Leserechte, soll aber trotzdem eine klare Orientierung haben. - Reload erfolgt waehrend ein Formular bereits mit Daten befuellt ist. Fertig, wenn: - Die vier Kernviews ohne manuelle Nacharbeit zwischen Liste, Detail und Neu-Anlage wechseln. - Beim Clubwechsel keine Formularwerte aus dem vorherigen Club sichtbar bleiben. - Read-only-Nutzer die Bereiche verstehen, ohne in kaputte Aktionen zu laufen. ### Phase 2: Kommunikation produktiv absichern Ziel: - Nachrichtenfluss nicht nur funktional, sondern praxisnah robust machen. Arbeitspakete: - SMTP real testen, inklusive Zustellprotokoll und Fehlerfaelle. - Optional Reply-To pro Verein oder Kommunikationsvorlage sauber ergaenzen. - Dokumentanhaenge fuer Nachrichten und Vorlagen einfuehren. - Serienvorlagen und wiederkehrende Nachrichtentypen vorbereiten. Fertig, wenn: - Eine Testzustellung je Verein reproduzierbar gelingt. - Fehlende SMTP-Konfiguration klar und frueh sichtbar wird. - Nachrichten mit Anhaengen und Vorlagen ohne Sonderlogik im Alltag einsetzbar sind. ### Phase 3: Historie und Archiv vertiefen Ziel: - Vergaengliche Vorgange muessen spaeter besser auffindbar und nachvollziehbar sein. Arbeitspakete: - Historie nach Modulen und Vorgangstypen filtern. - Historie exportierbar machen. - Historie mit Zielobjekten und Querverweisen versehen. - Archiv um weitere Entitaeten erweitern. - Archivsuche und Schnellfilter verbessern. Fertig, wenn: - Vorstand oder Verwaltung einen Vorgang aus Historie oder Archiv ohne Umweg wiederfinden kann. - Wichtige Clubobjekte nicht nur archiviert, sondern auch wieder auffindbar und verlinkt sind. ### Phase 4: Restliche Club-UX verdichten Ziel: - Das Dashboard und die Detailmodule sollen gleiche Sprache sprechen. Arbeitspakete: - Dashboard-Schnellzugriffe weiter auf Tagesgeschaeft trimmen. - Verlinkungen zwischen Dashboard, Mitgliedern, Zahlungen, Kommunikation und Archiv schaerfen. - Kleine Inkonsistenzen in Statusworten, Akzentfarben und Listenlabels bereinigen. Fertig, wenn: - Der Einstieg immer zur naechsten sinnvollen Aktion fuehrt. - Die wichtigsten Statuswerte nicht doppelt oder widerspruechlich gezeigt werden. ### Phase 5: Player-Produkt erst danach Ziel: - `mein-tt.de` bekommt nur dann neue Inhalte, wenn die Club-Seite stabil ist. Arbeitspakete: - Anforderungen fuer Spieleransichten separat sammeln. - Keine Club-spezifischen Workflows mehr in das Player-Produkt ziehen. - Neue Spielerfeatures nur gegen eigene Prioritaeten und nicht als Restverwertung der Club-Roadmap planen. ## Nicht als naechstes anfassen - Generelles Beitrags- und Tarifsystem mit Familienlogik, Alterslogik und Gueltigkeitszeitrainen. - Weitere grosse Produktumbauten ohne klaren Nutzen fuer den Club-Alltag. - Zusätzliche Club-Module, solange die bestehenden Workflows noch nicht absicherungsfest sind. ## Konkrete naechste Tickets - SMTP-Test fuer Kommunikation mit realer Zieladresse und dokumentiertem Ergebnis. - Dokumentanhaenge fuer Kommunikation und Vorlagen. - Historie: Filter und Export. - Archiv: weitere Objektklassen und Suche. - Club-UI-Smoke-Check fuer Aufgaben, Kommunikation, Konten und Rechnungen. ## Abhaengigkeiten - SMTP-Test braucht eine real erreichbare Versandkonfiguration. - Historie-Export braucht klare Zielobjekt- und Filterdefinitionen. - Archiv-Erweiterungen sollten auf bereits vorhandene Dokument-, Rechnungs- und Beitragsdaten aufsetzen. ## Erwartetes Ergebnis Nach dieser Runde sind die Club-Bereiche nicht nur vorhanden, sondern im Alltag kontrollierbar, nachvollziehbar und ausreichend robust fuer den produktiven Einsatz eines Vereins. Danach kann der Fokus auf neue inhaltliche Produktarbeit wechseln.