Previously in this series:

WhoDaBest - Post 1

So I've done some initial infrastructure for WhoDaBest.com.  What is "WhoDaBest"?  You'll just have to wait and see as it develops. 

Subversion Setup

The first step was to set up version control for which I'm using Subversion.  I've got an old desktop in the other room which has become my Subversion server.  Amazing how easy it was to set this up.  I've been a user of Visual SVN for a little while now, and I noticed a while back that they had put together a Visual SVN server.  This installer pretty much makes it idiot proof to install Subversion.  It even includes a little management console application to do basic server operations.  It's a great setup for a smaller project like mine.

Initial Application Setup

I don't want to get to far into the application yet, so I'm going to wait to define my UI layer for a bit.  I first want to strike out with a bit of basic infrastructure, domain model, testing, and services.  The (empty) solution structure I've laid out is shown in the following figure.Initial project structure  The solution I've laid out below has the following projects:

WhoDaBest.Foundation - This library is to contain foundation logic that may later be factored out into a separate foundation project to be used across projects.  My goal here is to have basic wrapper functionality in this library for things such as authentication, dependency injection and data access.

  • WhoDaBest.Domain - I've seen this type of library previously called "Core" as well, but it will basically contain all of the domain entities and repositories, as well as all repository interfaces.

WhoDaBest.Services - This is the services layer for the application.  the idea is that all external entites will communicate with the domain model through the services interface.  I'm not really sure yet of the functional boundaries that will be placed on the services library.

WhoDaBest.Test - Current library to house all unit tests for WhoDaBest libraries.  This may later be subdivided into multiple test libraries, possibly one for each project, but for now I'm keeping them together to make things easier.

The first thing I want to accomplish with WhoDaBest is the user/role management system.  I the course of this, I will also flesh out a bit of all of the class libraries, but this will have to wait for the next post.

Technorati Tags: , , , ,