Update API and spec for linked voting

This commit is contained in:
2026-02-05 10:58:40 +01:00
parent 5d432c9d17
commit 6305985dad
2 changed files with 45 additions and 46 deletions

42
SPEC.md
View File

@@ -1,36 +1,34 @@
# Pick'n'Play — Product Spec (MVP)
# Pick'n'Play — Product Spec (current)
## Goal
A micro web app for a closed Discord group (48 players) to decide what co-op game to play using a phased process:
Help a small Discord group (48 players) pick a co-op game via phased flow:
1. Suggest (blind)
2. Reveal (discuss)
3. Vote (blind scoring 010)
4. Results (leaderboard)
2. Vote (blind, 010 sliders)
3. Results (leaderboard)
## MVP Scope
## Scope
- Single shared instance
- Username/password login (cookie holds auth token after register/login)
- Organizer-controlled phase switching (admin accounts flagged via admin key at registration)
- Username/password login (cookie auth)
- Admins flagged via admin key at registration
- Per-user phase tracking; admins can move themselves backward, everyone can move forward (subject to admin “results open” toggle)
## Suggest Phase
- Up to 3 suggestions per player
- Name required
- Optional genre, description, screenshot URL, YouTube URL
- Players see only their own suggestions
## Reveal Phase
- All suggestions visible
- Suggester name shown
- Suggestions locked
- Up to **5 suggestions** per player
- Name required; optional genre, description, screenshot URL, YouTube URL, external game link, min/max players
- Players see only their own suggestions until voting
- Screenshots validated as reachable images
## Vote Phase
- All suggestions visible with authors
- Score each suggestion 010
- Players see only their own votes
- Players see only their own votes; can finalize/unfinalize their ballot
- **Linked games**: admins can link duplicates; linked games share a vote group. Moving a slider on one updates all linked siblings.
- Linking two games clears votes for the linked group and unfinalizes affected players
## Results Phase
- Totals, vote count, optional averages
- Sorted by total descending
- Visible only after admin enables results; players auto-advance when opened
- Leaderboard sorted by average score; shows totals, counts, players own vote, and links/media
## Non-functional
- Desktop + mobile usable
- IIS-hosted
- Desktop + mobile friendly
- Runs on IIS; SQLite via EF Core