Intake of the 26 R1 stories from requirements/20-r1-akzeptanzkriterien.md into Forgejo issues #1-#26. backlog.md maps story IDs to issues, stages R1.1-R1.4, dependencies and the 48 open questions. Refs #1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11, #12, #13, #14, #15, #16, #17, #18, #19, #20, #21, #22, #23, #24, #25, #26 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
11 KiB
Backlog R1
Stand: 2026-11-02 · Pflege: requirements-analyst · Quelle: requirements/r1-story-entwurf.md (freigegeben durch Chris am 2026-11-02), Akzeptanzkriterien in requirements/20-r1-akzeptanzkriterien.md.
Repo: cschlaefke/Shuffle · Milestone: R1 (in Forgejo noch nicht angelegt, Issues aktuell ohne Milestone) · 4 Epics, 26 Stories, 26 Issues.
Akzeptanzkriterien stehen 1:1 als nummerierte Checkliste in den Issues und werden als „KTO-01 Kriterium 3“ referenziert. Die Querschnittskriterien (Datenschutz, Sicherheit, Sprachen, Barrierefreiheit, Zustände/Netz, Plattformen) gelten für jede Story.
Stories nach Umsetzungsreihenfolge
Status: offen = Issue angelegt, noch keine Spec. Clarification = Label needs-clarification gesetzt (offene Fragen als Kommentar im Issue).
| Story-ID | Issue | Titel | Epic | Prio | Größe | Etappe | Status | Clarification |
|---|---|---|---|---|---|---|---|---|
| KTO-01 | #1 | Registrieren, anmelden und Passwort zurücksetzen | Konto | Must | XL | R1.1 | offen | ja |
| KAT-05 | #2 | Katalogdaten laden und aktuell halten | Katalog | Must | XL | R1.1 (Import), R1.2 (Admin-Pflege, Meldungen) | offen | ja |
| KAT-01 | #3 | Spiele suchen | Katalog | Must | L | R1.1 | offen | ja |
| KAT-02 | #4 | Spieldetailseite | Katalog | Must | M | R1.1 | offen | ja |
| KTO-04 | #5 | Privatsphäre (in R1 nur der Hinweis) | Konto | Must | S | R1.1 | offen | ja |
| SAM-01 | #6 | Spiel zur Sammlung hinzufügen | Sammlung | Must | S | R1.2 | offen | nein |
| SAM-02 | #7 | Eigene Angaben pro Spiel | Sammlung | Must | M | R1.2 | offen | ja |
| SAM-04 | #8 | Wunschliste mit Priorität | Sammlung | Must | M | R1.2 | offen | ja |
| SAM-05 | #9 | Einkaufsliste führen | Sammlung | Must | M | R1.2 | offen | ja |
| SAM-06 | #10 | In die Sammlung übernehmen | Sammlung | Must | S | R1.2 | offen | ja |
| SAM-03 | #11 | Sammlung durchsuchen, filtern und sortieren | Sammlung | Must | L | R1.2 | offen | ja |
| KAT-03 | #12 | Erweiterungen und Editionen | Katalog | Must | M | R1.2 | offen | ja |
| KAT-04 | #13 | Fehlendes Spiel melden | Katalog | Must | L | R1.2 | offen | ja |
| KTO-02 | #14 | Profil bearbeiten | Konto | Must | L | R1.2 | offen | ja |
| PAR-01 | #15 | Partie erfassen | Partien | Must | XL | R1.3 | offen | ja |
| PAR-02 | #16 | Mitspieler hinzufügen | Partien | Must | M | R1.3 | offen | ja |
| PAR-03 | #17 | Ergebnis erfassen | Partien | Must | L | R1.3 | offen | ja |
| PAR-04 | #18 | Wertungsbogen je Spiel | Partien | Must | M | R1.3 | offen | ja |
| PAR-05 | #19 | Partie bearbeiten und löschen | Partien | Must | M | R1.3 | offen | ja |
| PAR-06 | #20 | Partienverlauf | Partien | Must | M | R1.3 | offen | ja |
| PAR-07 | #21 | Persönliche Statistik | Partien | Must | L | R1.3 | offen | ja |
| PAR-08 | #22 | Statistik je Spiel | Partien | Must | M | R1.3 | offen | ja |
| KTO-05 | #23 | Konto löschen und Daten exportieren | Konto | Must | XL | R1.4 | offen | ja |
| SAM-07 | #24 | BGG-Konto verknüpfen | Sammlung | Should | S | R1.4 (nur mit BGG-Lizenz) | offen | ja |
| SAM-08 | #25 | Sammlung und Wunschliste aus BGG importieren | Sammlung | Should | XL | R1.4 (nur mit BGG-Lizenz) | offen | ja |
| SAM-09 | #26 | BGG-Import wiederholen und abgleichen | Sammlung | Should | L | R1.4 (nur mit BGG-Lizenz) | offen | ja |
Epics
| Epic | Label | Stories (Issues) |
|---|---|---|
| KTO Konto & Profil | epic/konto |
KTO-01 (#1), KTO-02 (#14), KTO-04 (#5), KTO-05 (#23) |
| KAT Spielekatalog | epic/katalog |
KAT-01 (#3), KAT-02 (#4), KAT-03 (#12), KAT-04 (#13), KAT-05 (#2) |
| SAM Sammlung & Listen | epic/sammlung |
SAM-01 (#6), SAM-02 (#7), SAM-03 (#11), SAM-04 (#8), SAM-05 (#9), SAM-06 (#10), SAM-07 (#24), SAM-08 (#25), SAM-09 (#26) |
| PAR Partien & Statistik | epic/partien |
PAR-01 (#15), PAR-02 (#16), PAR-03 (#17), PAR-04 (#18), PAR-05 (#19), PAR-06 (#20), PAR-07 (#21), PAR-08 (#22) |
Etappen (im Milestone R1)
| Etappe | Issues |
|---|---|
| R1.1 Fundament | #1, #2 (Import), #3, #4, #5 |
| R1.2 Sammlung | #6, #7, #8, #9, #10, #11, #12, #13, #2 (Admin-Pflege, Meldungen), #14 |
| R1.3 Partien | #15, #16, #17, #18, #19, #20, #21, #22 |
| R1.4 Abschluss | #23, #24, #25, #26 (BGG-Block nur mit Lizenz, S1) |
XL-Stories
Nicht geteilt (Entscheidung Chris, Label size/xl). Die Schnittvorschläge stehen im Issue unter „Mögliche Schnitte für die Spec“ und werden in der Spec (architect) entschieden: KTO-01 (#1), KTO-05 (#23), KAT-05 (#2), SAM-08 (#25), PAR-01 (#15).
Abhängigkeiten
In Forgejo als blockierende Abhängigkeiten gesetzt (Issue hängt ab von …):
| Issue | hängt ab von |
|---|---|
| #3 KAT-01 | #2 |
| #4 KAT-02 | #3 |
| #5 KTO-04 | #1 |
| #6 SAM-01 | #1, #3, #4 |
| #7 SAM-02 | #6 |
| #8 SAM-04 | #1, #4 |
| #9 SAM-05 | #1, #4 |
| #10 SAM-06 | #6, #8, #9 |
| #11 SAM-03 | #6, #7 |
| #12 KAT-03 | #4, #6 |
| #13 KAT-04 | #1, #2, #3 |
| #14 KTO-02 | #1, #3 |
| #15 PAR-01 | #1, #3, #6 |
| #16 PAR-02 | #15 |
| #17 PAR-03 | #16 |
| #18 PAR-04 | #17 |
| #19 PAR-05 | #15, #16, #17, #18 |
| #20 PAR-06 | #15, #16, #17 |
| #21 PAR-07 | #17, #20 |
| #22 PAR-08 | #4, #17 |
| #23 KTO-05 | #1 |
| #24 SAM-07 | #1 |
| #25 SAM-08 | #2, #6, #8, #13, #24 |
| #26 SAM-09 | #7, #25 |
Nur im Issue-Text vermerkt (kriterienbezogene Rückverweise, die als blockierende Abhängigkeit Zyklen erzeugen würden):
- KAT-01 (#3) Kriterium 6 → KAT-04 (#13)
- KAT-02 (#4) Kriterien 3–4 → SAM-01 (#6), SAM-04 (#8), SAM-05 (#9); Kriterium 6 → PAR-08 (#22)
- SAM-05 (#9) Kriterium 3 → SAM-06 (#10)
- KTO-05 (#23) inhaltlich → alle Daten-Stories (u. a. #6–#11, #13, #14, #15–#18)
- Externe Voraussetzung BGG-Lizenz (S1) für #24, #25, #26; Admin-Rolle für #2 und #13
Offene Fragen
Nummerierung wie in requirements/r1-story-entwurf.md § 5. Der Wortlaut steht als Kommentar im jeweiligen Issue.
A. Widersprüche zwischen Akzeptanzkriterien und Datenmodell/Migrationen
| Nr | Thema | Issues |
|---|---|---|
| 1 | Spiel gleichzeitig in Sammlung, Wunsch- und Einkaufsliste? (unique (owner_id, game_id)) |
#8, #10, #25 |
| 2 | Felder für SAM-02/04/05 fehlen im Datenmodell | #7, #8, #9 |
| 3 | Deutscher und englischer Titel (alternative Titel) | #3 |
| 4 | Verlagsfeld fehlt | #3, #4 |
| 5 | Beziehung Erweiterung ↔ Basisspiel fehlt | #12 |
| 6 | Tabelle für Meldungen fehlt | #13 |
| 7 | Ausblenden, manuell gepflegte Felder, Erlaubnis je Quelle | #2 |
| 8 | Profil-Genres fehlen, gleiche Liste wie Katalog? | #14 |
| 9 | Stadt im Profil vs. „alles privat“ | #5 |
| 10 | Löschumfang Partien, private Katalogeinträge, Meldungen | #23 |
| 11 | Ort, Gästeliste, kooperativ/Teams fehlen im Modell | #15, #16, #17, #20 |
| 12 | BGG-Import: „nicht gefunden“ vs. automatische private Einträge | #25 |
B. Unklare oder nicht testbare Kriterien
| Nr | Thema | Issues |
|---|---|---|
| 13 | KAT-01 Kriterium 8 unvollständig, Filterumfang | #3 |
| 14 | „Normale Verbindung“ für 2 s | #3 |
| 15 | Wann ist ein Eintrag „sehr ähnlich“? | #13 |
| 16 | „Flüssig“ bei 1000 Spielen – Zielwert | #11 |
| 17 | „Einige Sekunden“ für Rückgängig | #8, #9, #10 |
| 18 | Drosselung, Gültigkeit Reset- und Bestätigungslink | #1 |
| 19 | KTO-04 Kriterium 2 in R1 nicht testbar | #5 |
| 20 | Löschfrist, Exportformat und -umfang, Benachrichtigung, Neuregistrierung | #23 |
| 21 | Datenschutzerklärung/AGB, Prüfung Mindestalter, optionale Dienste | #1 |
C. Fachliche Lücken je Story
| Nr | Thema | Issues |
|---|---|---|
| 22 | Regeln Anzeigename bei Registrierung, Abmelden/E-Mail/Passwort ändern | #1 |
| 23 | Vorläufige Spiele als Lieblingsspiele, Reihenfolge ändern | #14 |
| 24 | Zugelassene Datenquellen ohne BGG-Lizenz (kritisch für R1) | #2, #4 |
| 25 | Admin-Bereich in der App oder internes Werkzeug, wer ist Admin | #2 |
| 26 | Rückmeldung zu Meldungen, Ablehnung ohne Zieleintrag | #13 |
| 27 | Moderation und Spam-Limit für Meldungen | #13 |
| 28 | Edition Pflicht/optional, auch für Listen und Partien | #12 |
| 29 | Werte der Zustandsliste, Verwaltung von Tags/Standorten | #7 |
| 30 | Suche/Filter auch für Wunsch- und Einkaufsliste, Leerzustand ohne Lizenz | #11 |
| 31 | Summe der Einkaufsliste, Verhalten bei abgelehnter Übernahme | #9 |
| 32 | Umgang mit Listen-Notiz bei vorhandener Sammlungsnotiz | #10 |
| 33 | Eine BGG-Verknüpfung je Konto, mehrfach verknüpfter BGG-Name | #24 |
| 34 | Zählende BGG-Status, Prioritätsabbildung, Erweiterungen | #25 |
| 35 | „In Shuffle selbst hinzugefügt“, Dauer der Hervorhebung | #26 |
| 36 | Datum/Uhrzeit, wählbare Spiele, Offline-Konflikte, Offline im Web | #15, #19 |
| 37 | Selbst entfernen, Namensvergleich, Gäste löschen, Längenbegrenzung | #16 |
| 38 | Kooperativer Sieg in Siegquote, Teampunkte, niedrigste Punktzahl gewinnt | #17, #21 |
| 39 | Mehrere Wertungsbögen, Kategorien löschen, Minus-Kategorien | #18 |
| 40 | Siegquote ohne eigene Teilnahme, Diagrammzeitraum, Spielzeit | #21 |
| 41 | Definition Bestwert, Gäste als häufigste Mitspieler | #22 |
D. Querschnitt und fehlende Stories
| Nr | Thema | Issues |
|---|---|---|
| 42 | Startseite/Dashboard (F18) – keine Story | keinem Issue zugeordnet, Entscheidung Chris offen |
| 43 | Einstellungsbereich (Sprachwechsel, Abmelden, Hinweis, Konto löschen) – keine Story | keinem Issue zugeordnet, Entscheidung Chris offen |
| 44 | Admin-Rolle (QUE-07) und Admin-Bereich (QUE-08) – keine Story, von KAT-04/KAT-05 vorausgesetzt | keinem Issue zugeordnet, Entscheidung Chris offen |
| 45 | E-Mails in R1, Sprache der Mails | #1, #13, #23 |
| 46 | Diagramme für Screenreader | #21 |
| 47 | Selbstbestätigung Mindestalter 16 ausreichend? | #1 |
| 48 | Kennzeichnung fremdsprachiger Katalogtexte | #4 |