My First ASP.Net MVC Application –

I’ve been very excited about ASP.Net MVC ever since I started hearing about its emergence in various blogs and podcasts. MVC basically addresses all of the issues I have with developing ASP.Net web sites (viewstate, postbacks, testing, etc), and I’ve eagerly awaiting a release its release.

Well, now that ASP.Net MVC is in it’s first beta, I thought it was time to jump in and get my hands dirty with some code. All I needed was an idea for a demo app. My brother-in-law was telling me that he needed an application to log his progress and help motivate him to train for an upcoming marathon. Specifically he said that there are lot of sites out there that allow you to log your own training, but he was really interested in one that would emphasize sharing your logs with your training partners as means to help keep each other motivated. So I started working on a small web application that enables users to log and share their workouts when training. You can follow along as I develop it at:

Iteration 0: Setting Up the Development Environment

To do create this application on my dev machine, I would need to install ASP.Net MCV Beta (as well as VS 2008 SP1).

I’d also need to find a hosting service that would allow me to host and MVC application (I went with, and to that end, these threads were helpful:

  1. Step by step instructions for configuring your hosting environment:
  2. Which assemblies you’ll need to include in the /bin folder:

Iteration .5: Putting Something Out There

By coincidence (I swear) Stephen Walther and Paul Litwin create a workout log application in their ASP.Net MVC video series. As a first iteration, I thought it would be a good idea to basically go through this series step by step and publish the output on my new hosted. After walking through the steps in the videos, I modified the pages slightly to use the site’s master page, which I also modified a bit to handle navigation for the newly added pages.

You can see the results at:

Coming Soon… Iteration 1: Completing the Workout Life Cycle

Creating an app that adds and displays data in just a couple of hours (thanks to the help of the template code and tutorials) isn’t too shabby, but there’s lot’s of work to be done. For starters, I want to be able to complete the life cycle of a workout (insert, select, update, and delete). So I’ll do that next.

After that it’s time to take a step back, and review the user stories to get a firm idea of what the app will need to be able to do – this is where my path will diverge from the good start set out by Walther and Litwin. With the big picture in mind, I’ll be able to layout the subsequent iterations that will allow me to get the app fully functional in time to help my brother-in-law train for his marathon.

Stay tuned…

Terra Nova Pools Site Launched!

My most recent project has been to create the first web site for Terra Nova Pools

My most recent project has been to create the first web site for Terra Nova Pools, a swimming pool design and construction company based in Orange County (CA). I launched the site a few days before the client’s deadline of Oct 1st, 2006.

I’ve been really excited about this project for a lot of reasons. Firstly, it’s the only project outside of this site that I have done without partnering with a design team (“Damn it Jim, I’m a programmer not a designer”). It’s also the first time that I’ve been responsible for the search engine optimization, and the result is that it is some of the cleanest XHTML and CSS code I’ve ever written. I’ll add the site to my portfolio soon and include details about the technologies I chose while implenting the site.