Database Design

October 05th 2007

I have been working on my database design this week for storing all the data for my application. I have based my design around my own current needs so it’s still draft 1. For a while now I have been using a spreadsheet to manage my macronutrition which is in the first image below. This spreadsheet works remarkably well and it has to be asked why I need anything else? The main reason is that it’s another chore to use, even though I have become really good at it, it does take time and sometimes I forget to fill it in.

Spreedsheet Log

Based on the above I drafted a first design of a database to record what I need it to and to support some of the functionality that I will want from my application. I have taken a photo of it here so you get the general idea.

Written DB Design

The next stage was to create the database. I used the free Microsoft SQL Server Express Edition (Used to be called MSDE). I already had the grown up SQL Server 2005 Management Studio installed on my work tablet so I used that to create everything. I recreated my initial paper design into SQL choosing what I thought were the best data types (for now). I then created my relationships and foreign keys using the diagram tool which will feel familiar to Access DB people. The finished draft can be seen in the screen shot below.

Database Design

I know that what I have here will probably be only around 50% of the design work, however it’s a start, and something to build on which is important. Trying to capture everything at this time and create the perfect schema would result in nothing being completed. This is based on what I already do using the spreadsheet but doesn’t cover everything I want it to do. Mockup’s will help me to decide on how to structure extra features.


Posted to WebApp
Comments(4)


Choosing a Development Platform

September 06th 2007

I have pondered over this for some time now. After narrowing my choices down to three I have decided on the Microsoft .NET platform.

Up until now I had considered Linux/PHP and Linux/Python with a MySQL backend, however I will now go the .NET and MSSQL route. Some of you maybe thinking I am mental and don’t know what I am going on about so I will mention some of the reasons for my choice.

While I am proficient and love working with Linux I have never coded in PHP or Python for a deployed solution, this would be a steep learning curve although a very enjoyable one but would starve me of precious time.

I have designed, developed, tested and deployed a Anticoagulant blood management system to manage dosing of warfarin to patients. This serves thousands of patients in a hospital environment and is considered mission critical as it can cause multiple deaths if errors occur. I used C# .NET 1.1 at the time with a Intersystems Cache (MUMPS) backend.

As part of my day job I also manage over 20+ MSSQL Servers, I feel really confident around the database engine, it’s very scalable, fast and manageable.

I do feel that the above points alone quantify why I am using the .NET platform. It’s also fun and I enjoy developing with it. It’s far superior (in my opinion) than anything else on the market when it comes to a complete development and debugging environment for web applications.

My application will however be developed with change in mind, I will be creating logical layers of separation to my application. This will enable me to change the data store without having to change my entire application should I wish to do so at later date.

One final note - www.plentyoffish.com runs .NET with 1 server and is in the top 10 sites with the most traffic. I think that speaks volumes for the platform. Joel Spolsky and the guys at Fog Creek also use it and they rock.


Posted to WebApp
Comments(4)


If you build it they will come

August 30th 2007

I thought it best to let my readers know what I am going to create and why I have made this particular choice.

As I mentioned before I would like it to combine my areas of interest in some way to keep it enjoyable, that list included :-

• Computers
• Self Improvement
• Mountain Biking
• Camping/Bushcraft
• Nutrition/Fitness
• Business

My choice will include a little something from all of them, I will be building an online application that will allow me to manage my health and fitness, something I have a keen interest in.

Diet tracking software is in no way new and it’s very saturated so why bother?

Well to answer that I have to look at my biggest competitor namely www.fitday.com, they provide an excellent service, have over 2.2 million registered users and it’s not going to be easy to knock them off the top spot.

A fitness app is in a verticle market, it maybe saturated , however there are over 5.5 billion people connected to the Internet and how many of them are happy with their appearance? Exactly

What I have found with other applications though is that it is so difficult to keep track of what exercise you do, and what food your eating. It like all the others promises to be the holy grail of fat loss and will give you a beach body by using it.

No, my web app will be different, it will be for the people who are serious about their health, know that a tool can’t do it for them and hard work is needed for them to obtain their goals. Both in terms of diet and exercise.

With my application will be easy to track information but it won’t try to do everything everyone else’s does with every feature and every gizmo. It will do exactly what it says on the tin and it will do it very very well.

Unfortunatly I can’t talk about all the things I intend to include in my app at this stage. Not because I don’t want you my readers to know, I just realise that it’s going to take me about 6 months to get release 1.0 out of the door; way too much time for my competitors to take my ideas.

My current mood: optimistic :)


Posted to Nutrition, WebApp
Comments(7)