Project HUGE: Exercise List - A Journey Into Object Oriented Programing

Posted October 15, 2007 at 9:08 AM by Ben Nadel

Tags: ColdFusion

I love working out. I love taking steel and moving it around. It's an awesome feeling. What I'd like to do is take that passion and parlay it into some object oriented programming goodness. Basically, I want to do what I was hoping to do with Skin Spider, but on a much much smaller scale (at least to begin with) and, actually finish it this time. And so, a new project beings - Project HUGE: Exercise List.


 
 
 

 
Project HUGE: Exercise List  
 
 
 

The project is going to be really small. It will consist of just 2-3 pages:

  • Search Page
  • Exercise List
  • Add New Exercise

I say 2-3 as I am not sure that I will even separate the search from and the listing page. But you get the idea - very simple. The beauty of it, though, is that exercises can be expressed in somewhat complex, but highly definitive ways. For example, what you might call a "Bench Press", could also be called, "Bilateral multi-joint shoulder flexion in the transverse plane". Furthermore, that can be broken down into the following components:

  • Multi-joint shoulder flexion
  • Multi-joint elbow extension

As you can see, even though the premise is simple, there is a lot of room here for relationships that might benefit from some object oriented programming. I hope to set up the project environment just like Skin Spider was set up - where you could view the code files and see the progress. Then, I am going to attack this project in an iterative fashion; first, I will throw this together in a procedural manner (aka the way I always do things). Then, I will apply object oriented programming techniques.

I know there are a lot of OOP style projects out there that aim to teach, but I am a hands-on guy. I simply don't have the ability to learn just from looking at other people's code. Too many paint chips eaten as a child I suppose. As I go, I am sure I will learn from many of the tutorials out there. I will try to give credit where credit is due.

Note: I know that exercises can become very complex and actually grow to combine multiple exercises (ex. Lunge and Curl or Clean and Press). For this project though, I am going to consider those types of things a single exercise. Maybe in the future, there can be the concept of a "complex" exercise, but not for this project.


You Might Also Be Interested In:



Reader Comments

Oct 16, 2007 at 3:37 PM // reply »
1 Comments

I like to work with cool projects too! What tecnology you use for development?


Oct 16, 2007 at 3:52 PM // reply »
10,640 Comments

I rock some ColdFusion in my projects.


Post A Comment

Comment Etiquette: Please do not post spam. Please keep the comments on-topic. Please do not post unrelated questions or large chunks of code. And, above all, please be nice to each other - we're trying to have a good conversation here.

Please review the following issues:

Author Name:


Author Email:

Author Website:

Comment:

Supported HTML tags for formatting: <strong>bold</strong>   <em>italic</em>   <code>code</code>







  • Help Wanted - Find Your Next ColdFusion Job
InVision App - Prototyping Made Beautiful With Prototyping Tools Ben Nadel's Company - Epicenter Consulting Recent Blog Comments
Feb 10, 2012 at 7:21 PM
jQuery AJAX Strips Script Tags And Inserts Them After Parent-Most Elements
Update! Instead of $(eval(options.insertAfter)).after(data['insertData']); I now use: var ajaxNode = document.createElement('span'); var parent = $(eval(options.insertAfter))[0].parentNode; ... read »
Feb 10, 2012 at 6:18 PM
jQuery AJAX Strips Script Tags And Inserts Them After Parent-Most Elements
encountered this same, what I consider, jQuery bug last week. I'm building a site in which I load some content via AJAX. This content contains Linkedin share button placeholders which Linkedin API ne ... read »
Feb 10, 2012 at 11:30 AM
Cross-Origin Resource Sharing (CORS) AJAX Requests Between jQuery And Node.js
After you understand the concepts here, this is an awesome cheatsheet for enabling CORS in just about anything http://enable-cors.org/ ... read »
JM
Feb 10, 2012 at 9:10 AM
My Safari Browser SQLite Database Hello World Example
@Amy, Here is a very good tutorial on how to use JOIN: http://www.sqltutorial.org/sqljoin-innerjoin.aspx ... read »
Feb 10, 2012 at 4:42 AM
Building A Twitter-Inspired RESTful API Architecture In ColdFusion
This is great, very useful Ben. I spotted a small typo in the api.cgm listing: <cfthrow type="Unauthroized" /> Cheers Stefan ... read »
Feb 9, 2012 at 10:35 PM
CFDirectory Filtering Uses Pipe Character For Multiple Filters (Thanks Steve Withington)
I was wondering if there would be a filter you could apply so that you got everything but what you included in the filter. As in show me all docs that are not a .pdf. ... read »
Feb 9, 2012 at 10:29 PM
Learning ColdFusion 9: Application-Specific Data Sources
@Ben, No offence, but if people were really wanting advanced features they would be using a platform like ASP.NET MVC. CFML is so structurally compromised as a tag-based scripting language that ... read »
Feb 9, 2012 at 10:03 PM
Subversion - Cleanup Failed To Process The Following Paths
@Leviaguirre, do you still have problems with this? ... read »