- 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)
428 lines
8.2 KiB
Markdown
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**
|