Target release | 2017.1 |
---|
Epic |
|
---|
Document status | |
---|
Document owner | |
---|
QA | Lead tester |
---|
|
Goals
- Convert the existing application to use NodeJS and VueJS
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
- 2017.1 will be a clone of all existing functionality
Requirements
# | Title | User Story | Notes |
---|
1 | Log 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)
|
2 | User 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
|
3 | Allow 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.
|
4 | Allow 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.
|
5 | For admins, populate the dashboard with admin tools. | | - Quick Overview
- Report generation links
- Packing slip generation links
|
6 | User dashboard |
| To be determined |
7 | Allow admins to browse and search all registered and activated users. | |
|
8 | Allow admins to edit individual users | |
|
9 | Allow admins to browse "affiliations." | |
|
10 | Allow 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.
|
11 | Allow admins to browse all nominations. | | - Note the sub-task regarding encrypting certain data fields
|
12 | Allow nominators to browse their own nominations | |
|
13 | Allow admins to manually create users | |
|
14 | Allow admins to review nominations | |
|
Questions
Below is a list of questions to be addressed as a result of this requirements document:
Question | Outcome |
---|
(e.g. How we make users more aware of this feature?) | Communicate the decision reached |
Not Doing
- List the features discussed which are out of scope or might be revisited in a later release.