My first “big” coding project is called Sprout. It’s an app that tracks children’s growth rate (weight and height) over time. Here’s a quick summary of my user stories and acceptance criteria—
- As a user,
- I want to add a child/children
- So I can start tracking weight and height.
- User must add a child.
- User can add multiple children.
- User must enter each child’s birth date, gender and starting height and weight.
- As a user,
- I can update child’s height and weight or edit existing information about child
- So my child’s information is accurate.
- User can click update button to enter new height and weight for a specific child.
- User can click edit button to change/add information.
- As the program,
- I want to produce a graph that shows me timeline of growth rate for each/all children
- So user can compare weight and height.
- Track date/time of when user enters the information (automatically or have user specify date/time).
- Must have a graph legend for each child.
- User can switch from one child to another by clicking on the legend buttons.
- User can click “all” legend button to see graph of all children as a group.
- As a user
- I want to see my child’s average, mean and median height and weight as an individual
- So I can accurately track my child’s progress.
- Calculate individual child’s lowest weight, include time stamp.
- Calculate individual child’s highest weight, include time stamp.
- Calculate individual child’s average weight, include time stamp.
- As the program
- I want to allow users to see national average in comparison with child’s stats
- So user knows if child’s development is on the right track compared to the national average.
- Compare child’s weight and height to national average based on gender and age.
- Show national average on individual child’s graph.
If I have extra time, I may work on the following nice-to-have functionalities:
- As a user
- I want to get a badge every time my child meets a certain milestones
- So I can celebrate!
- Notify and give badge to user when child reaches certain age, weight or height. For example, “Congratulations! Your child is now x months old!” or “Congratulations! Your child is now 20 lbs!”
- As a user
- I want to upload my child’s picture and use that as the legend
- So that I can easily differentiate each child in the graph if I have multiple children.
- Allow user to upload picture and use that picture as legend for the graph.
I hope to have a working app (and working knowledge of Ruby on Rails) in the next eight weeks. I have a lot to learn. I’m crossing my fingers!