StrengthTracker: My Public Foray into Writing a Useful Angular Application

In my previous post, I mentioned that I wanted to learn a variety of web frameworks for single page web applications, and the best way for me to do this was to write small applications that might be of use (to at least me:)

So here I go...

Essentially my plan for the first app is to develop what I've been doing during my workouts through Google Docs: Track weight and repetitions and track progress over time.  I'll do this through calculating 1 rep max, or calculating straight repetitions for things like pull-ups and dips.  Its going to be visual so I can keep motivated, so I'll incorporate charts to view progress.

GoogleDocsStrengthTracking

My aim is to represent this in a single page web app, and make things like calculating one rep max and entering in workout data even easier.  Here's a wireframe I drew up…

Strength Tracker UI

For 1RM (one rep max) calculations I'm grabbing some equations from the wikipedia site on this: http://en.wikipedia.org/wiki/One-repetition_maximum

I'll go with the Epley Formula to start: 1RM = w(1+ r/30).  Later on it might be cool to add a settings pane where a user can pick a different formula

Technologies:

  • Client - Angular JS, Bootstrap
  • Charts - Chartist
  • Server - Node.js, Mongo, Mongoose
  • Build/Deploy - Grunt
  • Unit Test:  Jasmine/Karma

If you want to play along at home, or give me a pull request, I'm putting the code on Github: https://github.com/toddjordan/strength-tracker

When I'm done I'll deploy it so somewhere like heroku and it can be a free service to anyone that want's to try it out.

I'll also try to post some lessons/thoughts from the technology stack as I go.  Below is what I have so far (very very early in dev):

StrengthTrackerInfancy