Files
patrickandClaude Sonnet 5 5e6ee2c456 feat: build TalkTime MVP backend/frontend, rename from VereinsChat
- 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
2026-09-11 15:07:47 +02:00

59 lines
3.5 KiB
Markdown

# Product Requirements Document
> TalkTime. Details siehe [docs/vereinschat/PRD.md](vereinschat/PRD.md) und [docs/vereinschat/architecture.md](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](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`.