1.0 KiB
1.0 KiB
MirrorMatch Data Model (MVP)
Terms
- Group: invite-only membership boundary (family, friends, etc.).
- Set: a “round” containing 2–10 Photos and 2–4 Options (names/labels).
- Option: a label to guess (e.g., “Dad”, “Me”, “Twin A”, “Twin B”).
- Photo: an uploaded image in MinIO plus its secret
correctOptionIdandpoints. - Guess: a user’s choice for a specific photo (one guess per user per photo).
- Invite: admin-created email invite with a token, used to join a Group.
Constraints (enforced by app)
- Set has 2–10 photos.
- Set has 2–4 options.
- Photo
pointsis 1–10. - A user can guess at most once per photo.
- A photo uploader cannot guess their own photo for points.
Prisma models
See prisma/schema.prisma.
“Same set, different groups”
If you want the same photos/options for multiple Groups, create multiple Sets (one per Group). Photos can reuse the same MinIO objects by reusing the same storageKey if desired.