New project for A Wider Circle

This is the first in a series of posts on an application I’m developing in collaboration with my good friend Kevin Vess for A Wider Circle, a non-profit based in Washington, DC.  He’s doing the graphic design and front-end work, including all the javascript/jQuery goodness, and I’m focusing on the backend.  The application we’re building is a web-based dashboard/CRM that will manage the day to day of their operation. We’ve open sourced the code and posted to a public repository on BitBucket.

This post covers some high level architecture decisions so you can get a better feeling for the parts involved:

  • .NET Framework 4.0
  • Entity Framework CodeFirst (included in EF 4.1 as of this post)
  • SQL Server 2008 for the production database
  • Eventually SQL CE 4.0 for the development database and possibly Session storage
  • NLog for logging functionality
  • Ninject for dependency injection, including Ninject.Web.MVC
  • NUnit for unit testing
  • Moq for mocking in unit tests
  • ValueInjecter for mapping of domain entities to viewmodels

For convenience both for myself and anyone using the code, all of the external dependencies have been placed in a /libs folder off the root of the project.

The requirements for this project have come from the personal involvement Matt Hodgson has had with the group and the work he’s been doing there.  We have a PowerPoint document with some preliminary requirements.  Enough to give us an overview of what the system should do, and further refinement will come as we tackle each section.  I’ve also spent a bit of time with them, and therefore have a good feeling for how they run things.  More posts coming to break down each of the sections and features.

Also, we’ll be keeping the BitBucket wiki up to date here: