Files
waldseilgarten-crm/docs/USER_STORIES.md
Henry 28952b6c5f Initial commit: Waldseilgarten CRM Project Documentation
- README with project overview
- TDD (Technical Design Document)
- AI Council Review with critical analysis
- User Stories (27 stories, 120 SP)
- Architecture documentation

Stack: NestJS + React + PostgreSQL + Redis
Server: waldseilgarten (85.199.86.188)
2026-03-14 14:33:02 +00:00

428 lines
8.2 KiB
Markdown

# User Stories
# Waldseilgarten Herrenberg CRM
**Dokument:** Anforderungsspezifikation
**Format:** Job Stories (Jobs-to-be-done)
**Priorität:** MoSCoW (Must/Should/Could/Won't)
---
## Phase 1: Foundation
### 🔐 Authentifizierung
#### US-001: Als Mitarbeiter möchte ich mich einloggen
```
Job: Mich im System authentifizieren
Akzeptanzkriterien:
- Login mit E-Mail und Passwort
- JWT-Token wird generiert
- Fehlerhafte Logins werden protokolliert
- Session läuft nach 24h ab
Priorität: MUST
Story Points: 3
```
#### US-002: Als Admin möchte ich neue Benutzer anlegen
```
Job: Team-Mitglieder dem System hinzufügen
Akzeptanzkriterien:
- E-Mail, Name, Rolle festlegen
- Automatische Willkommens-E-Mail
- Passwort-Reset-Link generieren
- Rollen: Admin, Manager, User
Priorität: MUST
Story Points: 3
```
#### US-003: Als Benutzer möchte ich mein Passwort ändern
```
Job: Meine Zugangsdaten verwalten
Akzeptanzkriterien:
- Altes Passwort zur Bestätigung
- Neues Passwort muss Richtlinien erfüllen (8 Zeichen, etc.)
- Alle Sessions werden invalidiert
Priorität: SHOULD
Story Points: 2
```
---
### 👥 Kundenverwaltung
#### US-101: Als User möchte ich einen neuen Kunden anlegen
```
Job: Eine neue Firma im System erfassen
Akzeptanzkriterien:
- Pflichtfelder: Firmenname
- Optional: Branche, Website, Telefon, E-Mail, Adresse
- Tags hinzufügen (z.B. "VIP", "Langjährig")
- Automatische Kundennummer generieren
- Duplikat-Erkennung (ähnliche Namen warnen)
Priorität: MUST
Story Points: 5
```
#### US-102: Als User möchte ich Kunden suchen
```
Job: Schnell einen Kunden finden
Akzeptanzkriterien:
- Volltextsuche über Firmenname
- Filter: Branche, Tags, Erstellungsdatum
- Sortierung: Name, Datum, letzte Aktivität
- Pagination (20 pro Seite)
Priorität: MUST
Story Points: 5
```
#### US-103: Als User möchte ich Kundendetails ansehen
```
Job: Alle Informationen zu einem Kunden einsehen
Akzeptanzkriterien:
- Übersicht: Stammdaten, Kontakte, Projekte
- Aktivitätshistorie (letzte Änderungen)
- Dokumente des Kunden anzeigen
- Projekte des Kunden listen
Priorität: MUST
Story Points: 3
```
#### US-104: Als User möchte ich einen Ansprechpartner hinzufügen
```
Job: Kontaktpersonen zu einer Firma erfassen
Akzeptanzkriterien:
- Name, Position, E-Mail, Telefon
- Als "Hauptansprechpartner" markieren
- Mehrere Kontakte pro Firma
- Schnell-Anruf/-E-Mail Buttons
Priorität: MUST
Story Points: 3
```
#### US-105: Als Manager möchte ich Kunden exportieren
```
Job: Kundenliste für externe Nutzung exportieren
Akzeptanzkriterien:
- CSV-Export
- Excel-Export
- Auswahl: Alle oder gefilterte Liste
- Datenschutz-konform (nur notwendige Daten)
Priorität: SHOULD
Story Points: 3
```
---
### 📁 Projektmanagement
#### US-201: Als User möchte ich ein neues Projekt anlegen
```
Job: Ein Projekt für einen Kunden starten
Akzeptanzkriterien:
- Projektname, Beschreibung
- Kunde auswählen (oder neu anlegen)
- Zeitraum: Start- und Enddatum
- Budget (optional)
- Status: Neu, Aktiv, Abgeschlossen, etc.
- Priorität: Niedrig, Mittel, Hoch, Dringend
Priorität: MUST
Story Points: 5
```
#### US-202: Als User möchte ich Projektmitglieder zuweisen
```
Job: Team-Mitglieder einem Projekt zuordnen
Akzeptanzkriterien:
- Benutzer aus Liste auswählen
- Rolle festlegen: Leiter, Mitglied, Beobachter
- Mitglieder sehen Projekt in ihrer Liste
- Benachrichtigung an neue Mitglieder
Priorität: MUST
Story Points: 3
```
#### US-203: Als User möchte ich den Projektstatus ändern
```
Job: Fortschritt des Projekts dokumentieren
Akzeptanzkriterien:
- Status: Neu → Aktiv → Abgeschlossen
- Status-Änderung mit Kommentar
- Historie aller Status-Änderungen
- Automatische Benachrichtigung an Kunden (optional)
Priorität: MUST
Story Points: 3
```
#### US-204: Als Manager möchte ich alle Projekte sehen
```
Job: Überblick über alle laufenden Projekte
Akzeptanzkriterien:
- Dashboard mit KPIs
- Anzahl Projekte pro Status
- Umsatz pro Projekt (falls Budget gesetzt)
- Filter: Meine Projekte, Alle, Nach Kunde
Priorität: SHOULD
Story Points: 5
```
---
### 📊 Dashboard
#### US-301: Als User möchte ich ein Dashboard sehen
```
Job: Schnellen Überblick über meine Arbeit
Akzeptanzkriterien:
- Meine offenen Projekte
- Meine Aufgaben (später)
- Ungelesene E-Mails (später)
- Aktuelle Aktivitäten
Priorität: MUST
Story Points: 5
```
#### US-302: Als Manager möchte ich Team-Statistiken sehen
```
Job: Team-Performance überwachen
Akzeptanzkriterien:
- Projekte pro Mitarbeiter
- Aktivitäts-Log
- Response-Zeiten (später)
Priorität: SHOULD
Story Points: 5
```
---
## Phase 2: Dokumentenverwaltung
#### US-401: Als User möchte ich Dokumente hochladen
```
Job: Dateien zu einem Projekt speichern
Akzeptanzkriterien:
- Drag & Drop Upload
- Mehrere Dateien gleichzeitig
- Fortschrittsanzeige
- Unterstützte Formate: PDF, Office, Bilder
- Max. 50MB pro Datei
Priorität: MUST
Story Points: 5
```
#### US-402: Als User möchte ich Dokumente herunterladen
```
Job: Gespeicherte Dateien abrufen
Akzeptanzkriterien:
- Einzelner Download
- Mehrfach-Auswahl (ZIP)
- Vorschau für PDF/Bilder
- Download-Tracking
Priorität: MUST
Story Points: 3
```
#### US-403: Als User möchte ich Dokumente versionieren
```
Job: Aktualisierte Dateien hochladen
Akzeptanzkriterien:
- Neue Version hochladen
- Alte Versionen anzeigen
- Auf alte Version zurücksetzen
- Versionsnummer automatisch erhöhen
Priorität: SHOULD
Story Points: 5
```
---
## Phase 3: Aufgabenmanagement
#### US-501: Als User möchte ich Aufgaben erstellen
```
Job: To-Dos zu einem Projekt hinzufügen
Akzeptanzkriterien:
- Titel, Beschreibung
- Fälligkeitsdatum
- Priorität
- Zuständigen zuweisen
- Projekt zuordnen
Priorität: MUST
Story Points: 5
```
#### US-502: Als User möchte ich Aufgaben als erledigt markieren
```
Job: Fortschritt dokumentieren
Akzeptanzkriterien:
- Checkbox für Erledigt
- Erledigungsdatum
- Wer hat erledigt?
- Kommentar zur Erledigung
Priorität: MUST
Story Points: 3
```
#### US-503: Als User möchte ich ein Kanban-Board sehen
```
Job: Aufgaben visuell organisieren
Akzeptanzkriterien:
- Spalten: Offen, In Arbeit, Erledigt
- Drag & Drop zwischen Spalten
- Filter nach Zuständigem
- Farbcodierung nach Priorität
Priorität: SHOULD
Story Points: 8
```
---
## Phase 4: E-Mail-Integration
#### US-601: Als Admin möchte ich ein IMAP-Postfach verbinden
```
Job: E-Mails automatisch importieren
Akzeptanzkriterien:
- IMAP-Server, Port, SSL
- Benutzername, Passwort
- Test-Verbindung
- Sync-Intervall (z.B. alle 15 Min)
Priorität: MUST
Story Points: 8
```
#### US-602: Als User möchte ich E-Mails sehen
```
Job: Importierte E-Mails im CRM ansehen
Akzeptanzkriterien:
- Absender, Betreff, Datum
- HTML- und Text-Ansicht
- Anhänge anzeigen/downloaden
- Als gelesen/ungelesen markieren
Priorität: MUST
Story Points: 5
```
#### US-603: Als User möchte ich E-Mails zuordnen
```
Job: E-Mails Kunden/Projekten zuweisen
Akzeptanzkriterien:
- Manuelle Zuordnung zu Projekt
- Zuordnung zu Kunde
- Automatische Vorschläge (Absender)
- Mehrere E-Mails gleichzeitig zuordnen
Priorität: MUST
Story Points: 5
```
---
## Phase 5: Erweiterungen
#### US-701: Als User möchte ich Google Calendar verbinden
```
Job: Termine synchronisieren
Akzeptanzkriterien:
- OAuth-Login mit Google
- Zwei-Wege-Sync
- Projekt-Termine als Calendar-Events
- Aufgaben-Fristen als Erinnerungen
Priorität: COULD
Story Points: 8
```
#### US-702: Als Manager möchte ich Berichte exportieren
```
Job: Projektberichte erstellen
Akzeptanzkriterien:
- PDF-Export
- Projekt-Zusammenfassung
- Zeitraum auswählen
- Logo/Branding
Priorität: COULD
Story Points: 5
```
#### US-703: Als User möchte ich SeaDrive synchronisieren
```
Job: Dokumente mit Seafile syncen
Akzeptanzkriterien:
- SeaDrive-Account verbinden
- Ausgewählte Ordner syncen
- Konflikt-Resolution
- Offline-Zugriff
Priorität: COULD
Story Points: 13
```
---
## Übersicht
| Phase | Stories | SP | MUST | SHOULD | COULD |
|-------|---------|----|------|--------|-------|
| 1 | 15 | 47 | 11 | 4 | 0 |
| 2 | 3 | 13 | 2 | 1 | 0 |
| 3 | 3 | 16 | 2 | 1 | 0 |
| 4 | 3 | 18 | 3 | 0 | 0 |
| 5 | 3 | 26 | 0 | 0 | 3 |
| **Gesamt** | **27** | **120** | **18** | **6** | **3** |
**Velocity-Schätzung:** 20 SP/Woche
**Gesamt-Dauer:** ~6 Wochen (Nur MUST) / ~9 Wochen (Alles)
---
**Ende User Stories**