Code Gazer

Ruby, Rails & Scales

Breakable Toy: Sprout

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!

Clear your mind. Practice patience. Practice simplicity.