Update API and spec for linked voting
This commit is contained in:
42
SPEC.md
42
SPEC.md
@@ -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 (4–8 players) to decide what co-op game to play using a phased process:
|
||||
Help a small Discord group (4–8 players) pick a co-op game via phased flow:
|
||||
1. Suggest (blind)
|
||||
2. Reveal (discuss)
|
||||
3. Vote (blind scoring 0–10)
|
||||
4. Results (leaderboard)
|
||||
2. Vote (blind, 0–10 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 0–10
|
||||
- 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, player’s own vote, and links/media
|
||||
|
||||
## Non-functional
|
||||
- Desktop + mobile usable
|
||||
- IIS-hosted
|
||||
- Desktop + mobile friendly
|
||||
- Runs on IIS; SQLite via EF Core
|
||||
|
||||
Reference in New Issue
Block a user