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 |
GIFT-45
-
Getting issue details...
STATUS
| - 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 |
GIFT-46
-
Getting issue details...
STATUS
| - 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 |
GIFT-47
-
Getting issue details...
STATUS
| - 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 |
GIFT-48
-
Getting issue details...
STATUS
| - 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. |
GIFT-49
-
Getting issue details...
STATUS
| - 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. |
GIFT-50
-
Getting issue details...
STATUS
|
|
8 | Allow admins to edit individual users |
GIFT-51
-
Getting issue details...
STATUS
|
|
9 | Allow admins to browse "affiliations." |
GIFT-52
-
Getting issue details...
STATUS
|
|
10 | Allow admins and nominators to submit nominations |
GIFT-53
-
Getting issue details...
STATUS
| - 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. |
GIFT-54
-
Getting issue details...
STATUS
| - Note the sub-task regarding encrypting certain data fields
|
12 | Allow nominators to browse their own nominations |
GIFT-55
-
Getting issue details...
STATUS
|
|
13 | Allow admins to manually create users |
GIFT-56
-
Getting issue details...
STATUS
|
|
14 | Allow admins to review nominations |
GIFT-57
-
Getting issue details...
STATUS
|
|
Questions
Below is a list of questions to be addressed as a result of this requirements document:
Not Doing