rubyforgood / shelter-assist Goto Github PK
View Code? Open in Web Editor NEWSoftware to help foster-based animal rescues keep track of their animals and people.
Software to help foster-based animal rescues keep track of their animals and people.
As a foster
I want to find out more about this dog I am interested in
So that I can decide if its right for me to foster
GIVEN I am on the “Dogs” page
WHEN I click anywhere on the baseball card for a certain dog
THEN I am taken to that dog’s page
As a potential foster
I want to tell the foster whether or not I'm home during the day
Because I want them to know about my foster situation
GIVEN I am looking at the foster application
WHEN the page loads
THEN see a yes/no field with the label "Are you or another adult home during the day?"
As the foster organizations
I want to randomize the dogs on the dogs page
So that all dogs get a fair shot at getting fostered
GIVEN I am on the “Dogs” page
WHEN the page loads
THEN the dogs listed in a certain order
GIVEN I am on the “Dogs” page
AND the dogs were listed in certain order
WHEN I reload the page
THEN the dogs are listed in a different order
Check the package.json
and upgrade any packages as appropriate. Also update to the latest version of node 18.x (provided Heroku and Github CI supports it).
Reference: https://nodejs.org/en/about/releases/
-Look into ways to implement magic link?
-What are the ways to have magic link and sign in for a person?
As the potential foster
I want to be able to understand the dog page easily
So that I can pick one to foster
GIVEN I am on the “Dogs” page
WHEN the page loads
THEN I see each dog’s info grouped in a baseball card type layout
AND I see the dog’s picture at the top
AND I see the dog’s name as a heading
AND I see the breed, age, sex and weight all listed under
AND there are three baseball cards of dogs across
As a foster
I want to have some confirmation that I did indeed sign up
So that I'm not wondering whether I did right
GIVEN I am on the foster application page
AND I've filled out all the required fields
WHEN I click the submit button
THEN I get an email to the email address I provided on the form in the field "email"
AND the subject line is "thank you for applying"
AND the body says "Dear Potential Foster, Thank you for your submission. Someone from our team will reach out to discuss your application. Sincerely, [Organization Name]"
AND Organization name corresponds to which org the person signed up with
As a volunteer
I want to immediately know if I'm on the right page
So that I can confirm I clicked the correct foster
GIVEN I was on the fosters page
WHEN I clicked on a foster's
THEN this page loads
AND the foster's name is written at the top
admin
and create roles: foster
and volunteer
foster
As the potential foster
I want to know more about these dogs
So that I can pick one to foster
Breed
GIVEN I am on the “Dogs” page
WHEN the page loads and I’m looking at a certain dog
THEN I see the word “Breed:” as a label underneath the dog’s name
AND I see the dog’s breed listed below the label
Age
GIVEN I am on the “Dogs” page
WHEN the page loads and I’m looking at a certain dog
THEN I see the word “Age:” as a label underneath the dog’s name
AND I see the dog’s age listed below the label
Sex
GIVEN I am on the “Dogs” page
WHEN the page loads and I’m looking at a certain dog
THEN I see the word “Sex:” as a label underneath the dog’s name
AND I see the dog’s sex listed below the label
Weight
GIVEN I am on the “Dogs” page
WHEN the page loads and I’m looking at a certain dog
THEN I see the word “Weight:” as a label underneath the dog’s name
AND I see the dog’s weight listed below the label
As a person who wants to foster a dog
I want to see all fosterable dogs
So that I can pick the one I want to foster
GIVEN I am on the “Dogs” page
WHEN the page loads
THEN I see all the dogs that are currently “fosterable” in the system listed on this page
AND I see each dog’s name
AND I see each dog’s picture above their name
As a foster
I want to communicate more nuance about my schedule
So that the people placing dogs with me understand my schedule
GIVEN I am on the foster application
WHEN the page loads
THEN I see a text area field in the "Availability" section with the label "Are there things we need to know about your schedule?"
As a volunteer for The Little Black Dog
I want to log into the system
So that I can see the list of fosters
GIVEN
I am on the login page
WHEN
I toggle to "Volunteer"
THEN
I see a field labeled "Email"
AND
I see a field labeled "Password"
AND
I see a button that says "Login"
h4. Notes
h4. User Story
As a volunteer for The Little Black Dog
I want to log into the system
So that I can see the list of fosters
h4. Acceptance Criteria
GIVEN I am on the login page
THEN I see a section that says "Login"
AND underneath that there's a toggle that says "Foster" and a toggle that says "Volunteer"
AND the default is to the "Foster" toggle being selected
Submit button
GIVEN I am on the foster application page
WHEN the page loads
THEN I see a button at the bottom that says "Submit"
Saves to the database
GIVEN I am on the foster application page
WHEN I click the "Submit" button
THEN the information I filled out saves to the database
As a potential foster
I want to make sure I'm on the right page
Because I just landed here from somewhere else
GIVEN I am on the foster application page
WHEN the page loads
THEN I see the page title "Foster Application" at the top of the page
As a foster
I want to sign up to foster dogs
So that I get that I get a dog
GIVEN I am on the foster application page
WHEN the page loads
THEN I see a checkbox field with the label "Animal type" in the section "Pet Preferences"
AND the options are "Dog" and "Cat"
AND cat is disabled
As a user
I want to understand how questions relate to each other
So that I am not confused
GIVEN I am on the foster application page
WHEN the page loads
THEN I see six sections:
Contact Info
Address
Additional Information:
- Home Information
- Pet Preferences
- Availability
As a person who wants to foster a dog
I want to see all fosterable dogs
So that I can pick the one I want to foster
GIVEN I am on the “Dogs” page
WHEN the page loads
THEN every dog's name listed that is in our system
As a volunteer
I want to see an individual foster's information
So that I can see all their information in one place and get a sense of whether they'll
GIVEN I am a logged in volunteer
AND I am on the Fosters page
WHEN I click the "edit" button (pencil icon)
THEN I am taken to that foster's edit page
AND I see the following fields labels with the foster's values underneath:
name
nickname
email address
phone number
address
household (display the selected values)
home all day
home type
transportation
and preferred method of communication
AND that information is listed in a sidebar on the left
How does it work now?
Currently, it is not possible for a foster to log out of their account. After signing in, the "login" button is visible on the foster app.
How should it work?
Acceptance Criteria
As a volunteer
I want to assign this foster an animal
So that I can keep track of where the dogs are placed
GIVEN I am a volunteer
AND I am on an individual foster's page
THEN I see a dropdown field that has the label "Animal"
AND the options are all the dogs that don't have the status "adopted" yet
AND the options are listed in alphabetical order
AND I can select multiple dogs
As a foster
I want to let this organization know when I'm available
So that they can know when I can foster
GIVEN I am on the foster application page
WHEN the page loads
THEN I see a date field with the label "From" in the "Availability" section
Datepicker
GIVEN I am on the foster application page
WHEN I click into the "From" field
THEN I see a popup with a small calendar and I can choose a date
As a potential foster
I want to specify what size dog I want
So that I get a dog I think I can handle
GIVEN I am on the foster application page
WHEN the page loads
THEN I see checkbox field with the label "Size preference" in the section "Pet Preferences"
AND I see four options:
less than 20 lbs
20-40 lbs
40-60 lbs
60+ lbs
How does it work now?
Currently, when a potential foster submits their Foster Application they are not taken to a different page. They see a confirmation message on the foster application page telling them their application has been submitted.
How should it work?
When a potential foster submits their Foster Application, they should be taken to a submission confirmation page that instructs them to check their email for magic link to sign in. (check w/ courtney to see if mock is ready)
If mock isn't ready, put text on page: "Success! Please check your email to sign in and view your profile."
Acceptance Criteria
User Story
As a volunteer
I want to edit a single foster
So that I can update their information because I just talked to them on the phone
See the icon
GIVEN I am on the fosters page THEN I see a column that says Edit at the top AND there is a pencil icon in each row
Click the icon
GIVEN I am on the fosters page WHEN I click the pencil icon THEN I am taken to that individual foster's edit page
As a foster
I want to only foster a certain dog sex
So that I don't foster a dog I can't handle for a particular reason
GIVEN I am on the foster application page
WHEN the page loads
THEN I see checkbox field with the label "Sex preference" in the section "Pet Preferences"
AND I see two options:
Male
Female
As a volunteer for The Little Black Dog
I want to log into the system
So that I can see the list of fosters
GIVEN I am on the login page
WHEN I enter an email and password that match ones in the system
THEN I am routed to the volunteer view of the "Fosters" page
AND I see "Fosters" written across the top of the page (h1)
How does it work now?
Currently, the foster profile displays the foster's name
How should it work?
Acceptance Criteria?
As a foster
I want to enter in my address
So that the foster agency knows where I live
Address Section
GIVEN I am looking at the foster application page
WHEN the page loads
THEN I see a section that says "Address"
AND that section has 5 fields
Street
GIVEN I am looking at the foster application page
WHEN the page loads
THEN I see a text field with the label "Street" first in the address section
Apartment/Unit
GIVEN I am looking at the foster application page
WHEN the page loads
THEN I see a text field with the label "Apartment/Unit" after "Street" in the address section
City
GIVEN I am looking at the foster application page
WHEN the page loads
THEN I see a text field with the label "City" after "Apartment/Unit" in the address section
State
GIVEN I am looking at the foster application page
WHEN the page loads
THEN I see a single select field with the label "State" after "Apartment/Unit" in the address section
State dropdown
GIVEN I am looking at the foster application page
WHEN I open the "State" field
THEN I see all 50 states as options I can choose
Zipcode
GIVEN I am looking at the foster application page
WHEN the page loads
THEN I see a text field with the label "Zipcode" after "State" in the address section
AND I can only enter numbers into that field
Section
GIVEN I am looking at the foster application page
WHEN the page loads
THEN I see a section that says Address
AND there's only field in that section with the label "address"
Google verified address
GIVEN I am looking at the foster application page
WHEN I start typing in the field
THEN there are suggestions of addresses based on what I've typed in
AND I can select one
As a volunteer
I want to see a list of all the fosters who have applied
So that I can match a dog to a foster
GIVEN I have successfully logged in as a foster
WHEN the the "Fosters" page loads
THEN I see a table of fosters (a person who has submitted a foster application)
AND the table displays name (first+last), date available, phone number, email
AND the table is zebra striped
As a foster
I want to let this organization know when I'm available
So that they can know when I can foster
GIVEN I am on the foster application page
WHEN the page loads
THEN I see a date field with the label "To" in the "Availability" section
AND this field is optional
Datepicker
GIVEN I am on the foster application page
WHEN I click into the "To" field
THEN I see a popup with a small calendar and I can choose a date
I'am wondering if we want to utilize some linting library like https://github.com/rubocop/rubocop or https://github.com/testdouble/standard?
This can help keep our code consistent.
As a potential foster
I want the foster organization to know whether or not I have access to a car
So that they can expect me to pick up a dog or need to bring a dog to me
See select field
GIVEN I am on the foster application page
WHEN the page loads
THEN there's a single select field with the label "Transportation"
Select field options (this one is already done)
GIVEN I am on the foster application page
WHEN I click open the single select field
THEN I see the options
Car
No car
Access to a car
As a volunteer
I want to update a foster's profile
So that we have the latest information on them
Edit button
GIVEN I am a logged in volunteer
AND I am on the Fosters page
WHEN the page loads
THEN I see an "edit" button for each foster
Click the edit button
GIVEN I am a logged in volunteer
AND I am on the Fosters page
WHEN I click the "edit" button
THEN I am taken to that foster's edit page
AND the foster's name is written at the top of the page (h1)
As a person who wants to foster a dog
I want to see all fosterable dogs broken up by page
So that the page doesn’t take for-freaking-ever to load
GIVEN I am on the “Dogs” page
WHEN the page loads
THEN I see only 12 dogs
AND I see pagination at the bottom
GIVEN I am on the “Dogs” page
WHEN I click on the “2” on the pagination the page loads
THEN the page reloads
AND I see the next 12 dogs
As a volunteer
I want to change a foster's status
Because I just talked to them on the phone and have approved them to foster
GIVEN I am a volunteer
AND I am on an individual foster's page
THEN I see a dropdown field that has the label "Status"
AND the options are: applied to foster, available, banned from fostering, currently fostering, permanently unavailable, temporary unavailable,
AND the options are listed in alphabetical order
Check the Gemfile
and upgrade any packages as appropriate. Also update rails and ruby to the latest version.
As a person who wants to foster a dog
I want to see all fosterable dogs
So that I can pick the one I want to foster
GIVEN I am on the “Dogs” page
WHEN the page loads
THEN I see a header on the page that says “fosterable dogs”
AND I see the following text underneath the header: “Thinking about fostering? These adorable dogs from local rescues need someone to foster them while they await their furever home. Click on a dog below to see more information about each dog.”
As a volunteer
I want to login to FosterForce
So that I can see information relevant to the tasks I need to do
GIVEN I am on the login page
WHEN I enter an email and password that match ones in the system
THEN I am routed to the volunteer view of the "Fosters" page
AND I see Fosters written across the top of the page (h1)
Style foster application with existing fields in the following sections:
"Contact Info" fields: First Name, Last Name, Email, Phone Number
"Address" fields: Street, Apt, City , State, Zip Code
"Home Information" fields: Are you or another adult home during the day?, Tell us about your household, Transportation
"Application" fields: Tell us things we might want to know about your home and your experience with pets
As a foster
I want to tell the foster agency what kind of house I have
So that I can make sure I get a dog that's right for my house
GIVEN I am looking at the foster application page
WHEN it loads
THEN I see a single select field with the label "Home type"
AND it's in the "Home Information" section
GIVEN I am looking at the foster application page
WHEN I click on the select "Home type" field
THEN I see the following options
Apartment/Condo
Townhouse
House
How Does it Work Now?
How Should it Work?
-Add new, basic home page with H1 "Welcome to Shelter Assist"
-Include 3 buttons for user:
Acceptance Criteria
Acceptance Criteria
As a potential foster
I want to specify what dog age I'm comfortable
So that I get a dog I think I can handle
GIVEN I am on the foster application page
WHEN the page loads
THEN I see checkbox field with the label "Sex preference" in the section "Pet Preferences"
AND I see four options:
Puppy (up to 3 months)
Young (3 months- 2 years)
Adult (2-5 years)
Senior (5+ years)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.