A Volunteer Management System to track volunteers, projects, volunteer hours, and to assist organizations in matching their volunteers to projects based on skills. Created as the Front End Capstone for NewForce.
As a user, I should be able to fill out a form with my organization's information, and register myself as a user of the application
Given a user wants to use VMS
When the user attempts to access protected information in the application, or if they voluntarily wish to register Then the user should see a please sign up to access that information welcome message
And a registration form should appear
Given a user wants to register an account with VMS
When the user clicks the Register a new account button in the nav bar Then a registration form should be displayed where the user can enter information
When the user clicks a link to restricted information Then a registration form should be displayed where the user can enter information
Given a user has filled out required fields of the registration form
When the user clicks the Register button Then the system should check if the organization's email address is not already registered
And it should check if the email address is unique
And if both are unique, a new account should be created
And the user should be taken to the main view of VMS
if logged in,
display dynamic tables showing
number of completed projects,
open projects,
average number of volunteers per project,
post project feedback
When a user clicks on the Volunteers Tab Then the default volunteer view shall appear Then a button should be show that allows the user to add a volunteer Then the default display of all the volunteers' details (shows Volunteer Name, date added, total hours logged, add to project button, and a delete button are shown in a table format
When A user Clicks on a volunteer's name Then that volunteer's profile is shown
When a user clicks on the add volunteer button Then an add volunteer form shall appear
When the user clicks to add to project Then a modal will appear, asking which project to add the volunteer too
When the user confirms the selection
Then the volunteer shall be added to the selected Then a notification will appear confirming the volunteer was added.
When a user clicks the delete button Then a affordance shall appear, seeking confirmation
When the user confirms Then the volunteer is deleted Then an updated volunteers list is show
When a user tries to access this page and they are not logged in Then prompt for login
As I user, I want to be able to track all the hours my volunteers are spending on a project.
Given a user is logged in
When they view a Single Project Then a table at the bottom shall allow the user to select an assigned volunteer Then add hours to that volunteer and save that information to a project
As a user, I should be about to log into my unique account and access the application data
Given a user is already registered as a user and wishes to access user-only portions of the application
When the user clicks on the login button Then a login form should appear
When the user enters their correct information Then their credentials should be checked and the application dashboard should appear Then The Logged in NavBar should appear #20
When the user wishes to search their volunteers from the volunteers screen Then There shall be a Search Volunteers input box by name, email or skill, quick search links for top hours logged and newest Then the results are shown below
**Then ** the search results in main content shall be in table format and shows Volunteer Name, date added and hours logged
When a user wishes to search for volunteers from the project view, Then a search box will allow the user to search based upon name, email, or skill Then the results will show below Then the user shall be able to add any of the resulting volunteers to their project
###Story
As a user I should be able to see more details about my volunteers
Given a user is logged in and wishes to view a volunteer's profile
When The user clicks on the volunteer's name in the app, or links directly
Then The profile should include
name
email
skills
image
location
notes
assigned projects
total hours
When the user wishes to take actions involving the volunteer Then the user can make notes, add the volunteer to a project, edit previously saved notes,
When the admin wishes to edit information Then an edit form shall be displayed
As a user, I should be able to edit projects I have created
Given the user is logged in
When the user clicks the edit button on a project Then a prefilled form with project details is displayed
When the user enters new information and clicks save Then the updated information is saved and updated information is now shown on the view they were on before
Given a user is not logged in
When the user tries to access the edit view Then prompt for log in
Given the user is logged in When the user clicks "add" in project list view Then a form shall appear that asks for the project's details as listed in #13
When the user clicks "save" Then the project is saved Then project list is updated across the application
As a User, I should be able to click logout at any point to be logged out of the application and returned to the default home screen
** Given** a user is logged in and wishes to exit the application
When the user clicks the logout button Then the user’s credentials should be removed from the browser session, and all restricted routes will be closed, and the user is returned to the default homepage.