Create a web application that assists with organizing volunteers for weekend meals. The application will consist of three main parts, a calendar for displaying future dates that can be volunteered for, a form for volunteers to fill out, and a workflow for approving or rejecting applications.
As a developer, I need to interact with a development instance of the Google calendar (referred to as "Dev Calendar") so that I can build project features.
Acceptance Criteria:
Given that the Dev Calendar account has been created, a single oauth key should be administered to all of the devs on the team so that they can use the key to connect to the Dev Calendar API.
Given that the project code is in the repository and builds on the developer's local machine, the developer should be able to use a test endpoint to connect to the Dev Calendar using the share oauth token.
As an Interfaith Sanctuary volunteer organizer, I need to see a volunteer's submitted form, so that I can review their submission and contact the volunteer.
Acceptance Criteria:
Given a volunteer has filled out the form completely, when the form is submitted, then an email is sent to Interfaith Sanctuary administration.
Given Interfaith sanctuary has received an email, when the email is opened, then the email has all the form's information present.
Given a volunteer submits their form, when the Interfaith Sanctuary administration receives an email, then the email has a link to the application.
As an Admin, I need to approve a form so that the calendar is updated and the volunteer receives an email
Acceptance Criteria:
Given there is a pending volunteer form, when an interfaith admin approves the volunteer form, then volunteer calendar is updated and the form is removed from the approval view
Given there is a pending volunteer form, when an interfaith admin denies the volunteer form, then volunteer form is removed from the approval view
Given there is an approved volunteer form, when the calendar events are loaded, then the approved volunteer form is included in the results
As a a volunteer opening the calendar, I need to request events for the month so that events are displayed on the calendar
Acceptance Criteria:
Given a volunteer opens the calendar and events exist for the visible month, when calendar events are loaded, then events are loaded from the Google Calendar API for that month
Given a volunteer opens the calendar and events don't exist, when calendar events are loaded, then no events are displayed
Given there are pending or confirmed volunteer events, when the calendar is loaded, then both types of events are loaded
As a user, I need to be able to view the Adopt-a-Meal suggestion page so that I can submit meal suggestions or view meal suggestions
Acceptance Criteria:
Given I am a user who has navigated to the Meal Suggestions page, when they view the page, then they will see clickable tabs with meal suggestions as well as a clickable Add suggestions button
Given I am a user who has navigated to the Meal Suggestions page when I click on a meal suggestion tab, then I will be able to view a modal with the meal suggestions
Given I am a user who has navigated to the Meal Suggestions page, when I click on suggest a meal, then I will be able to submit a meal suggestion for review
As an Adopt-a-Meal volunteer, I need to submit my volunteer form, so that Interfaith Sanctuary administration can review the details and contact me.
Acceptance Criteria:
Given a volunteer has filled out the form completely and submitted, when the form is sent to the server, then form is saved to the Database.
Given a volunteer has filled out the form completely and submitted, when the form is sent to the server, then form is associated with the Google Calendar event.
Given a volunteer has filled out the form completely and submitted, when the form is sent to the server, then form is emailed to Interfaith Sanctuary
As a Developer, I need to Setup Project so that Application can be created
Acceptance Criteria:
Given the project source code is in the repo, when a developer pulls the repo, then they have all the source code with Laravel, MySQL, and Bootstrap.
Given the project source code is in the repo, when a developer pulls the repo, then there are instructions on how to initially build the project
Given a developer has pulled the source code, when the project is built, it builds without errors.
Given a developer has built the project, when the project is opened, the first page is viewable and bootstrap imports successfully.
Other Notes
Acceptance Criteria
Initial Biolerplate in Git
Install Postgress
Everyone Pulled Code
Everyone Has a Git
Use Laravel
Postgress
Bootstrap
Create Calendar-Share
As an Adopt-a-Meal volunteer, I need to see my submitted volunteer form, so that I know Interfaith Sanctuary received my submission.
Acceptance Criteria:
Given a volunteer has filled out the form completely, when the Submit button is clicked, then an email is sent to the volunteer.
Given a volunteer has received an email, when the email is opened, then the email contains all the information the volunteer included in the form.
Given a volunteer has partially filled out the form, when the Submit button is clicked, then no email is sent.
Given a volunteer submits their form, when the Interfaith Sanctuary administration receives an email, then the email has a link to the form. Other Notes
This PBI depends on user story #6