Original requirements list - PuzzleServer/mainpuzzleserver GitHub Wiki
Note: we switched to using issues to track work - this list is no longer kept up to date.
P0
The site won't work if we don't have these
Target date: Early January 2019
Progress: 30 / 37
Tech
Privacy
- [Lambert, PR77] Show cookies policy on site
- [Manual for now, #88] Ability to remove / export user data
Deployment
- [Megan, planned #120, #121] Can deploy / update site to production
- [Megan, planned #121] Credentials are managed in a safe way
Admin & Author
General
- [Partially complete - can act as any role. Remaining #24] Impersonate player / author [Discussion topic]
Event
Teams
- [Jeremy, PR109] Open / close team registration
- [Kenny, PR58] Add / view / edit / delete teams (including manual small team combination)
- [Jenna, PR84] Add / view / remove players within teams (including manual small team combination)
- [Kenny, PR61] View / edit team puzzle states (including lockouts)
- [Kenny, PR58] Contact specific teams via e-mail (can just show team e-mails to admins on website)
- [Jenna, PR98] Contact specific / all players via e-mail (can just show player e-mails to admins on website)
- [Kenny, PR76] View team standings
Puzzles
- [Kenny, PR38] Add / edit / remove puzzles
- [Morgan, PR71] Add puzzle files
- [Jessica, PR60] Add puzzle solutions / responses
- [Kenny, PR76] View puzzle states per puzzle (including most / least solved)
- [Morgan, planned #87] Manually release puzzle waves
- [Kenny, PR93] Edit puzzle dependencies
Player
General
- [Jenna, PR163] View event info with or without an account (logistics, what to expect / what type of puzzles will be in the event, how scoring works, how winning works / what you win, rules & FAQ)
Account
- [Megan, PR82] Log in to an existing account
- [Megan, PR82] Sign out of existing account
- [Megan, PR82] Create a new account
- [#22] Verification of employee alias
- [#88] Delete account (and forget user in database)
Teams / Players
- [Morgan, PR158] Create a new team (should add player to the team)
- [Morgan, PR158] Team members can invite new players to a team
- [Morgan, PR158] Players can join teams
- [Jenna, PR155] Remove players from team (note: should not remove player's account, just their team membership)
- [Jenna, PR155] Leave team (note: should not remove player's account, just their team membership)
- [Jenna, PR84] View all players within the player's team
- [Jenna, PR155] View team details
Puzzles
- [Kenny, PR66] View all unlocked puzzles + team solve state
- [Jessica PR60] Submit puzzle answer
- [Jessica PR60] View past puzzle submissions and responses
- [Lambert, PR101] View lockout notice on puzzle page
P1
We're going to get a lot of 'feedback' (complaints) if we don't have these, but it will work
Target date: Possibly March 2019
Progress: 9 / 34
Tech
General
- [#191, #185] Key usability improvements
- [#190] Accessibility (player-focused)
- [#175] Custom 404 / unauthorized page
Deployment
Admin & Author
General
- [Jenna, in progress #186] Add / edit / remove authors and admins
- [#11] Define non-puzzle states (ex. pizza, live events, etc)
Teams
- [#164] Have special test teams that are hidden & don't count against team count
- [Kenny, #165] Edit the sort order for team standings
- [#166] Contact all / specific teams via notification
- [Jenna, PR98] View player to team map
- [#193] View / edit team non-puzzle states (ex. pizza, live events, etc)
- [#167] View all team schedules
Puzzles
- [Morgan, in progress #169](/PuzzleServer/mainpuzzleserver/wiki/#169](https://github.com/PuzzleServer/mainpuzzleserver/issues/169)) Add / edit / remove puzzle errata and hints
- [#170] Edit puzzle type (t-shirt, live event / scheduled, pre-event)
- [Morgan, in progress #87] Define puzzle waves
- [Morgan, in progress #87] Automatic puzzle wave release
- [Kenny, PR76] Puzzle state map filtered to team / author puzzles
- [Kenny, PR148] Puzzle state map includes team filter
- [Morgan, in progress, #17] Define puzzle wave unlock conditions (besides event start)
- [Jeremy, PR74] View puzzle feedback
Player
General
- [Jessica, in progress #172] Ask questions by e-mailing organizers
- [#166] View notifications
- [#172] Request help (general or puzzle-specific)
Teams / Players
- [#173] Advanced team management (add / edit team captains or other general measures to avoid team drama)
- [#193] Send direct sign-up link to team
- [Discussion] View list of all teams (possibly only if signed in)
- [Kenny, PR76] View team standings
- [#167] View my team's schedule
- [Discussion] Show list of all players (may not be allowed / may need players to mark profile as public)
Puzzles
- [Jeremy, PR74] Give puzzle feedback (especially for betas)
- [Kenny, PR76] View fastest puzzle solves
- [Kenny, PR76] View puzzle solve counts (to find commonly solved puzzles)
- [#169] Show puzzle notes (errata, hints - both for individual puzzles and for puzzle list view)
P2
These would make things easier for everyone but are by no means required
Target date: N/A
Progress: X / 19
Tech
General
- General UX polish
Admin & Author
General
- Impersonate an author / view site as test author [Discussion topic]
Event
- Define site themes per event (ex. banner color, icons, etc)
- Edit FAQ pages via website instead of via code changes
- Show / hide switch for event standings (can be turned on / off even during event)
Teams
- Contact sets of teams
- Edit team schedules
Puzzles
- [#20] Website support for meta tokens / set-up
- Add auto-hints for puzzles
- Automatic puzzle validation (no conflicting names, etc.)
Player
Account
- [#22] Associate / change / remove the Microsoft Account associated with the player account (including e-mail verification, alias link expires every event)
Teams / Players
- Find players for your team (mark team as accepting players, view players looking for a team, approve / reject team requests, etc.)
- Find a team (mark player as looking for a team, view teams accepting players (and possibly team captains), apply for team, approve / reject team offers, etc.)
- Remind signed-in player if they are not on a team
- Recover code by entering e-mail on site (if one is not available, show that message instead)
- Show 'notification read' status based on player instead of based on team
Puzzles
- View puzzle schedule on the puzzle page / list pages
- Request a hint for a specific puzzle
- Include 'in progress' and 'new' as puzzle states (based on submissions)
P3
These are cool ideas that would be interesting to add in if there's time
Target date: N/A
Progress: X / 9
Tech
General
- Mobile-responsive site
Admin & Author
Puzzles
- Import puzzles from previous events
Player
Account
- Add / remove additional e-mails at which the player should be notified
Teams / Players
- Allow teams to invite more players than can be added to the team & provide a way to deal with conflicts (either by blocking players at the limit or having the team captain deal with it)
- Notify player of pending invites if they log in with an e-mail that has a pending invitation
- View team notes (freeform text customized by each team)
- Mark player state (asleep, eating, working on X puzzle)
Puzzles
- Add / edit / mark additional puzzle states (printed, current player, custom checkbox columns)
- User-based puzzle states (seen / new)