While in the two previous posts we talked about the main ideia and how the project will be strutured, it's now time to create our solution.
The Solution - Marvin the issue tracker
"Marvin" (application code name), will be strucured in three projects:
- Marvin.Core, that makes the application ticks;
- Marvin.Website, that is what we will use as UI;
- Marvin.Core.Tests, for unit and mock testing;
For the developement of this application we will be using the Microsoft Visual Studio Web Developer Express Edition for the website, and the Microsoft Visual Studio C# 2005 Express Edition for both the Core and Tests development. You can get both application freely here.
The Website project
So after starting the VS WebDevelopment, we will create a new Asp.NEt Web Site:
The Core project
All of the Marvin logical functionality will be handled by the Marvin.Core assembly. So we startup the Msft Visual Studio C# 2005 Express Edition and create a new Class Project:
The Tests project
It's always nice to know that when we change on line of code we are not creating other bugs. So unit testing will help us on this matter. It's not 100% accurate, but it will help us finding early bugs. So will add a new Class Project to the previous created solution:
For the unit testing we'll be using the NUnit framework. Since this is a dependency for our project we first need to copy the nunit.framework.dll assembly from our Tools\NUnit\Bin folder to the Marvin\Dependencies folder.
After that, we add the this assembly reference to the Tests project:
All done...
... and in next post I'll cover the build enviroment setup using MSBuild. I will also show how to accomplish the same task using NAnt.