GTD Assistant
End User’s Perspective
GTD Assistant is a helper application designed to aid you in applying the organizational method created and popularized by David Allen called "Getting Things Done". This application will assist you through the entire workflow from the inbox to task completion.
Developer’s Perspective
Development Process
I’ll be taking an iterative and incremental development approach for each feature. Team Foundation Service (https://tfspreview.com/) will be used to keep track of my progress and as source control. Similarly, each feature will be done in a test-driven development/design mindset when possible. Visual Studio's integrated test framework and runner will aid me in this task.
General Architecture
The application will be built with the Model-View-ViewModel (MVVM) architectural pattern. The framework that I chose to aid me is Laurent Bugnion’s excellent framework “MVVM Light Toolkit”, which can be downloaded from CodePlex (http://mvvmlight.codeplex.com/) or from NuGet (http://nuget.org/packages/MvvmLight). The article “Using the MVVM Pattern in Windows 8” (http://msdn.microsoft.com/en-us/magazine/jj651572.aspx) will help get started.
Front End
The front end will be built in XAML. I will be using a mixture of images and styles coupled with the Buxton Sketch font to give it a scratchpad appearance.
Back End
The back end will be built in C#. This is where a TDD approach will be the most appropriate. As I mention earlier, I will be using Visual Studio integrated test framework and runner. Since I will be dealing with external data, mocking will be required, and for that I am planning to use Moq, which can be downloaded from NuGet (http://nuget.org/packages/Moq)
Storage
Currently, since I don’t expect too much data, I’m planning to simply use XML files and the built-in Windows Storage and Application Data. If it is insufficient, a move to SQLLite or to Windows Azure Mobile Services might be considered.
Comments