- Generic org/team/member data model (renamed from club-specific naming) - Auth, organizations, invitations with mail + Matrix provisioning - Teams with automatic Matrix room creation, sync-job retry, reconciliation - Departments, seasons, roles (RBAC with privilege-escalation guard), audit log - Dashboard, members list, org switcher on the frontend - Synapse setup docs (Docker + bare-metal) and generalized PRD/architecture docs Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TBf3yfnnHzMQ5qhLV2285A
3.5 KiB
3.5 KiB
Product Requirements Document
TalkTime. Details siehe docs/vereinschat/PRD.md und docs/vereinschat/architecture.md.
Vision
TalkTime ist eine selbst hostbare, DSGVO-freundliche Kommunikations- und Verwaltungsplattform für Sportvereine — Ersatz für WhatsApp-Gruppen. Matrix/Synapse ist das Messaging-Backend im Hintergrund; der Verein verwaltet stattdessen Abteilungen, Mannschaften, Mitglieder und Rollen, Kommunikationsgruppen entstehen automatisch aus dieser Struktur.
Target Users
- Vereinsadministrator (CLUB_ADMIN): verwaltet heute Mitglieder/Gruppen manuell über WhatsApp und Excel-Listen, kein Datenschutzkonzept.
- Abteilungs-/Mannschaftsleiter, Trainer, Co-Trainer, Betreuer: brauchen Kommunikation mit ihrer Gruppe, ohne selbst Matrix/IT verstehen zu müssen.
- Mitglied/Spieler, Eltern (bei Minderjährigen): wollen einfache Chat-Teilnahme ohne Rufnummer-Preisgabe an einen US-Messenger.
- Systemadministrator (SYSTEM_ADMIN): betreibt die Plattform für mehrere Vereine (Multi-Tenant).
Core Features (Roadmap)
| Priority | Feature | Status |
|---|---|---|
| P0 (MVP) | Auth (Login/Logout/Session, Passwort-Reset) | Planned |
| P0 (MVP) | Verein anlegen + Vereinsadministrator | Planned |
| P0 (MVP) | Mitgliederverwaltung | Planned |
| P0 (MVP) | Abteilungsverwaltung | Planned |
| P0 (MVP) | Mannschaftsverwaltung (inkl. Saison) | Planned |
| P0 (MVP) | Rollen & Berechtigungen (RBAC) | Planned |
| P0 (MVP) | Einladungssystem | Planned |
| P0 (MVP) | Synapse-Integration (SynapseService, Health Check) | Planned |
| P0 (MVP) | Matrix User Provisioning | Planned |
| P0 (MVP) | Matrix-Raum-Verwaltung + automatische Gruppenzuordnung | Planned |
| P0 (MVP) | Membership-Sync (Outbox, Retry, Reconciliation) | Planned |
| P0 (MVP) | Grundlegender Chat (eigene Oberfläche via Matrix Client-Server API) | Planned |
| P0 (MVP) | Audit Log | Planned |
| P0 (MVP) | Tenant Isolation (Multi-Club) | Planned |
| P1 | CLUB_MANAGER-Rolle, PARENT-Rolle vollständig | Planned |
| P1 | ASSISTANT_COACH / SUPERVISOR als eigene Rollen | Planned |
| P1 | E-Mail-Verification vollständig, manueller Resync in UI | Planned |
| P2 | OIDC-Login, Push-Notifications, PWA | Planned |
| P2 | Medien-Retention-Policies, erweiterte Benachrichtigungen | Planned |
P0 = MVP. Details/Begründung siehe docs/vereinschat/PRD.md Abschnitt 5-6.
Success Metrics
- Erstverein produktiv (Login bis erste Matrix-Nachricht) in unter 1 Tag Einrichtungszeit.
- 0 Tenant-Isolation-Vorfälle (kein Cross-Club-Datenzugriff) in QA/Security-Tests.
- Sync-Konsistenz: Reconciliation-Job meldet < 1% Abweichung TalkTime vs. Synapse im Dauerbetrieb.
Constraints
- Muss auf bestehendem Self-Hosted-Server laufen (Starter-Kit-Deployment: git pull + rsync + systemd, kein Vendor-Lock-in).
- Synapse-Instanz wird separat betrieben/bereitgestellt (Deployment-Doku offen, siehe PROJ-Feature Synapse-Integration).
- Kein Speichern von Nachrichteninhalten in der TalkTime-eigenen PostgreSQL-DB — nur Zuordnungsdaten.
- Synapse Admin Token darf Backend nie verlassen.
Non-Goals
- Vereinsbuchhaltung, Beitragsverwaltung, Rechnungen, Ticketing, Vereins-ERP — separates Modul, nicht MVP/V1.
- Turnierverwaltung, Trainingsplanung, KI-Assistent, Videokonferenzen — nicht in absehbarer Roadmap.
- Eigene Mobile-App (React Native) — MVP ist responsive Web/PWA-fähig, keine zweite Codebasis.
Feature-Specs siehe features/INDEX.md.