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

  • [Kenny, PR44] Create / edit / delete event
  • [Jessica, PR105] Stop / start 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

  • [#15] Automated deployments
  • [#176] Staging & production (note: platform dependent)

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)