D1. Specifications

1. User Stories

User Story A

As an Admin I want to be able to see that a volunteer signed up for orientation so that I can make sure orientation is held that day.

  • Add a new tab to the admin portal home page called ‘Orientation’
  • This should route to a URL path ‘/orientation’
  • Aziz Admin should be able to see a list of people who have signed up for orientation.

User Story B

As an Admin I want to be able to add multiple shifts in a row so that I can add shifts quicker.

  • Anita Admin should find the Stats tab at URL path “/stats”
  • Anita Admin should find the Profiles tab at URL path “/profile”
  • Anita Admin should find the Sign Ups tab at URL path “/signup”
  • Anita Admin should find the Shifts tab at URL path “/shifts”

User Story C

As a Volunteer I want to be able to reset my password by myself so that I can recover my account quicker.

  • On the bottom left of the login box there should be a ‘Forgot Password’ option
  • Vivian Volunteer should be lead to a URL path “/password”
  • Vivian Volunteer should be asked to enter their email
  • After clicking the link they are sent via email they should be led to a update password link
  • Vivian Volunteer’s account information should be updated upon completion of password change

User Story D

As a Volunteer I want to be able to clock out so that my hours are tracked correctly.

  • When clocking out, Vivian Volunteer should click clock out and the current time should be noted.
  • In the admin portal under signups, Vivian Volunteer’s shift Clock-Out time should be updated
  • The Hours Volunteered should be calculated
  • After clocking-out the shift should be deleted form Vivian Volunteer’s schedule page.
  • Clock-Out feature should be reliable, and not timeout.

User Story E

As a new Volunteer when I sign up I want to be able to choose a role so that I sign up for shifts where my skillset is needed.

  • When signing up Vicki Volunteer should have the ability to choose from a multitude of preset roles
  • Whichever role is selected, should be assigned to Vicki Volunteers profile
  • Vicki Volunteer should only be able to see shifts available for their corresponding role
  • Vicki Volunteer accidentally signed up as ‘pre-dental’ Anita admin should be able to fix this issue on the Admin side

User Story F

As an Admin I want to be able to assign shifts to specific types of roles so that people that meet the required skillset can sign up for them.

  • When clicking create a new shift on the Sign Ups tab Anita Admin is prompted to enter information. Part of that information, Anita Admin should have to select which type of role(s) are available to signup for that shift
  • Anita Admin should not have to type out the role name, instead there should be a dropdown opiton
  • These new constraints mean that Vicki Volunteer should only see what Anita Admin has allowed for their exact role.

User Story G

As an Admin I want to be able to see documents uploaded by volunteers on the admin portal so that I can reference their information quicker.

  • Anita Admin should see a new tab called Files
  • The Files tab should lead to a URL path ‘/files’
  • Anita Admin should be prompted to enter ‘First Name, Last Name’ 
  • All corresponding files to that volunteer should then be displayed.

User Story H

As an Admin user I want to be able to access the admin portal along with other admins so that their personal information is secure.

  • On pages.jsx for /home check if the user is signed in, if so, check if they are an admin 
  • On pages.jsx for /stats check if the user is signed in, if so, check if they are an admin 
  • On pages.jsx for /profiles check if the user is signed in, if so, check if they are an admin 
  • On pages.jsx for /signups check if the user is signed in, if so, check if they are an admin 
  • On pages.jsx for /shifts check if the user is signed in, if so, check if they are an admin

2. Requirements

Functional Requirements

Priority: Definite

  • Orientation: if volunteers sign up for orientation, then admin should be able to see the first name, last name, and email of those signed up.
  • Shifting Upload Bug: if an admin is adding multiple shifts, the system should stay on the page and not reroute you whenever each shift is added.
  • Password Recovery: if a volunteer forgot their password, they should have the option to request a new password.
    • Specific User Database Issue: a specific volunteer cannot access their account. Their account has been deleted but database still recognizes their account and won’t allow for a new account to be created.
  • Clocking Out Bug: if a volunteer decides to clock out using the website, then they should be able to do so using the ‘clock out’ button.
  • Additional Feature, Different Roles: if there are different types of volunteers (pre-dental, dental assistant 1, dental assistant 2, registered dental hygienist, dentist), then they should be able to sign up as their respective roles.
  • Uploaded Document Access: if volunteers upload documents, then admin should be able to access said documents under a new tab called ‘Files’.

Priority: Perhaps

  • N/A

Priority: Improbable

  • N/A

Non-Functional Requirements

Priority: Definite

  • N/A

Priority: Perhaps

  • Dropdown instead of Manual Inputs:
    • When creating a shift, admins can choose roles from a drop down.
    • When editing a shift, admins can choose roles from a drop down.
  • Shift-Type Column: shift-type is available to be viewed as an optional column.
  • User Side Mobile: the navigation bar should not take up over 30% of the screen at all times. It would be nice to have a navigation icon that a user can always access which will direct them to a navigation screen.
  • Admin Side Web: most of the pages on admin side should be uniform, in styling and background, like the pages of the user side’s website.
  • Admin Side Mobile: similar to user side mobile requirement, it would be nice to have a navigation page that is always accessible but not always on display, which unnecessarily takes up space.

Priority: Improbable

  • N/A