Exercise List: Initial Thoughts Before We Code

Posted October 17, 2007 at 2:00 PM

Tags: ColdFusion, Exercise List

Before I start coding the Exercise List project, I need to get a clear idea what needs to be done. As I have stated before, the project is a hands-on learning experience to familiarize me with Object Oriented Programming in ColdFusion. But, at a more general level, it is an application that will maintain a list of fitness exercises. To help learn the basic principles of Object Oriented Programming, I am keeping this application purposefully simple; there will always be time to complicate it later.

The basic interfaces required for this application are:

  • Add / Edit Exercise
  • View Exercise
  • Search / List Exercise

The only data we will be keeping track of is the list of exercises. There will be no login or users. Here is what I am thinking for the exercise data:

  • Name
  • Description
  • Contraindications
  • Joint Actions
  • Alternate Names (also known as...)
  • Date Created
  • Date Updated

Exercise data could be kept in one table, but that wouldn't help me with OOP (object oriented programming) as much as it could. As such, I am breaking down each exercise as it relates to joints and the actions that need to be done on them. Each exercise can act on one or more joints (ex. Bicep curl acts on the elbow by flexing it). As part of this "joint relationship", the action can be:

  • Flexion, Extension, Rotation, Adduction, Abduction, Plantarflexion, Dorsiflexion (if applicable)
  • Performed in a particular plane of movement: frontal, sagittal, transverse (if applicable)

Not all joints can move in a particular plane or have all joint actions applied to them. There will be a relationship in the database that joins Joints to Joint Actions so that the wrong actions don't get associated with the wrong joints (same for planes of movement). The action performed is also related to the plane of movement (hip rotation in the transverse plane vs. hip extensions in the sagittal plane), but I am NOT going to build in the logic to maintain these constraints; I don't want things to get too complicated right off the bat.

So that's the data that needs to be captured and an overview of the way the data interrelates. As a reminder, I am going to be first building this application (hopefully fast) in my standard procedural style code just to get it done. Then, I am going to go back and do a data model analysis and move to an object oriented approach and hopefully, awesome learning will ensue.

Post Comment  |  Ask Ben  |  Permalink  |  Other Searches  |  Print Page




Learning ColdFusion 9 - ColdFusion 9 tutorials, samples, examples, demos

Reader Comments

Rob Rawlins
Oct 18, 2007 at 5:11 AM // reply »
54 Comments

Dont forget to pack yourself a <cf_athsma_inhaler /> custom tag, just in case :-D

Rob


Oct 18, 2007 at 2:21 PM // reply »
1 Comments

You have to normolize your Data Base structure first of all.


Oct 18, 2007 at 2:39 PM // reply »
6,371 Comments

I am gonna make mockups of the interface first before I even worry about the database structure ala the likes of Clark Valberg and Hal Helms; I am going to be following an interface driven design where the prototype dictates the data model that will be required (and discovered).

The mockups will be posted shortly. I am not going to create a full fledged prototype since I think this is so few pages that the designs will suffice.


Post Comment  |  Ask Ben

Recent Blog Comments
Nov 7, 2009 at 5:53 PM
Ask Ben: Javascript String Replace Method
You can find here an advanced function that prepared with javascript replace function. This can make the first letters of words, sentences, lines and whatever you define automatically: http://www.m ... read »
Andrew Neely
Nov 7, 2009 at 4:56 PM
A Moment That Touched Me - The Fountainhead
Ben, Glad you enjoyed the podcast. Yeah, the Tank Riot guys can get really chatty during the episodes, but that's part of the charm of it for me. They've covered everything from Nichola Tesla to Cha ... read »
Nov 7, 2009 at 4:43 PM
Building A Fixed-Position Bottom Menu Bar (ala FaceBook)
Is it possible to make some more MenĂ¼`s ? ... read »
Jill
Nov 7, 2009 at 11:40 AM
How To Unformat Your Code (Like A Pro)
Derek, I think you might be right - sweet! Thanks for the link :) ... read »
Nov 7, 2009 at 11:25 AM
How To Unformat Your Code (Like A Pro)
I think it would be way easier to just use this http://www.logichammer.com/html-formatter/ He just released v3 and it rocks. ... read »
Jill
Nov 7, 2009 at 7:58 AM
How To Unformat Your Code (Like A Pro)
LMAO - this was pretty funny! I have to admit - I also love to reformat code so I can read it. My boss used to tell me to leave my OCD at home. Now I don't feel so bad after reading everyone else' ... read »
Nov 6, 2009 at 10:10 PM
How To Unformat Your Code (Like A Pro)
The timing of this post is just uncanny. I spent the last 15-20 minutes manually un-formatting my "Ben Nadel" style code within a CFC of mine. I was really digging the readability a few weeks ago, bu ... read »
Roe
Nov 6, 2009 at 5:11 PM
Passing Arrays By Reference In ColdFusion - SWEEET!
ArraySort also reorders the results of these java obj's ... read »