45 lines
1.2 KiB
Markdown
45 lines
1.2 KiB
Markdown
# MirrorMatch User Flows (MVP)
|
||
|
||
## Admin: create Group + invite users
|
||
|
||
- Admin creates a Group (name + slug).
|
||
- Admin enters an email address and role (ADMIN/MEMBER).
|
||
- System emails an invite link: `/invite/<token>`.
|
||
- User clicks link, logs in, invite is redeemed, user becomes a member.
|
||
|
||
## User: create a Set
|
||
|
||
- Select Group.
|
||
- Create Set:
|
||
- title/instructions (optional)
|
||
- options (2–4)
|
||
- photos (2–10)
|
||
- For each photo:
|
||
- upload image
|
||
- choose correct option
|
||
- set points (1–10)
|
||
- Publish Set (status goes to OPEN).
|
||
|
||
## User: guessing
|
||
|
||
- Set screen shows **two photos at a time** (as you requested):
|
||
- UI shows a pair of target photos and asks the user to label each.
|
||
- Order is randomized per viewer (left/right and per-row).
|
||
- User selects an option for each photo and submits.
|
||
- Server validates:
|
||
- user is in the Group
|
||
- Set is OPEN
|
||
- user has not already guessed
|
||
- user is not the uploader of that photo
|
||
|
||
## Reveal
|
||
|
||
- If configured: auto-reveal when all Group members have guessed all photos.
|
||
- Always allowed: admin/uploader can manually reveal.
|
||
- Once revealed, UI shows:
|
||
- correct labels per photo
|
||
- who guessed what
|
||
- points earned + leaderboard
|
||
|
||
|