Target release2017.1
Epic
Document status
Document owner
QALead tester


Goals

Background and strategic fit

The original application was built in PHP using the Laravel framework. To reduce time spent on on-boarding, training, and configuring and maintaining a relatively complicated stack (issues encountered in 2016), we're converting the backend to NodeJS (Express) and the frontend will use VueJS.

Assumptions

Requirements

#TitleUser StoryNotes
1Log in and auth sessions

  • Users can't log in if their account was not activated by an admin (GIFT-47)
  • User's can't log in if their account is not active (Controllable by GIFT-51)
2User registration & email verification

  • User can register if their email address matches  a list of specific domains.
  • User receives a verification email after registration. They must click the link before the next step happens.
  • After the user clicks the verification link, the admin is sent an email, notifying them that a user has registered and needs approval.
  • User can not log in until an administrator approves their account.
  • Users are registered with the "nominator" role
3Allow admins to approve registered accounts

  • Create a page for administrators to view users that have registered and verified their email, but need to be approved.
  • Upon clicking "Approve," the user is notified via email and can log in.
4Allow users to retrieve lost passwords

  • If the user clicks "forgot password" on the login form, prompt them for their email address.
  • The user enters their email address and clicks "Send Password Reset Link"
  • That email address is sent a unique password reset link.
  • Password reset links expire after 48 hours.
  • If the user clicks the password reset link before it expires, they are taken to a screen where they can enter a new password (with confirmation).
  • If the password is valid, save, then redirect the user to the login screen and make them log in with the new password.
5For admins, populate the dashboard with admin tools.

  • Quick Overview
  • Report generation links
  • Packing slip generation links
6User dashboard
To be determined
7Allow admins to browse and search all registered and activated users.


8Allow admins to edit individual users


9Allow admins to browse "affiliations."


10Allow admins and nominators to submit nominations

  • Nominators are not allowed to submit more nominations than the limit on their profile allows for that calendar year. Admins do not have a limit.

11Allow admins to browse all nominations.

  • Note the sub-task regarding encrypting certain data fields
12Allow nominators to browse their own nominations


13Allow admins to manually create users


14Allow admins to review nominations


Questions

Below is a list of questions to be addressed as a result of this requirements document:

QuestionOutcome
(e.g. How we make users more aware of this feature?)Communicate the decision reached

Not Doing