- 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)
8.2 KiB
8.2 KiB
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