PayDay: My new development project
Note: I originally called the project ‘PayCycle’ but since this is the name of an existing commercial product from Australia.
In my last post I wrote about how I’m managing my finances by using some simple maths in Microsoft Excel. As a way to learn C# and .Net I’ve started writing the logic of the spreadsheets into a simple desktop application. I’ll also be extending the features of the application to help with forecasting how much non-fixed cost bills will cost in the future. Things like car repairs and how much you spend on lunch at work.
I’m calling the software PayCycle since the central idea is your pay cycle and how your budgeting revolves around how much and how often you’re paid. Since finding out there is already a product out there called PayCycle I’ve decided to name the software ‘PayDay’.
I could keep using my Excel files to organise my budget if I didn’t have the urge to have a software project to tinker with in my spare time. The project deals with money (which I’ve found is more involved than just using numeric data types), with time periods and frequencies (yearly, monthly etc) in what appears to be straight forward from the 10,000 foot view but ongoing work will reveal the devils in the detail.
The project will initially deliver a desktop application that uses WPF for the user interface, WiX for the installation project and NUnit for unit testing. I’ll be using both SharpDevelop and Visual C# Express as IDEs. SharpDevelop because it has integrated NUnit support along with WiX integration. Visual C# Express because is has WYSIWYG for WPF. I would have used Visual Studio as it does everything I need but I can’t afford the license fee right now so.
SharpDevelop will contain the library project which is where the business logic of the software will be. This is the project with the unit tests. The windows application project will be in Visual C# Express and it will reference the built DLL file that the library project produces. Hopefully there will be no surprises with debugging!
Once the desktop application is up and running I’ll look into writing a web based version. With this intention in mind I’ll be very careful with how I write the core of the software. I can not have any business logic in the WPF project. One of the lucky benefits of having two different IDEs is that there’s a clear delineation between the ‘display’ and the ‘logic/model’.
I’ll post new articles about my progress. I’ll write about design decisions and problems I encounter. I’ve already started programming so there are already things about money, currency and time frequencies that I’d like to share.
My next post will a little boring; it’s a walk through of the spread sheets I use for personal budgeting. It will give you an understanding about what I’m trying to achieve with the software.
it was very interesting to read.
I want to quote your post in my blog. It can?
And you et an account on Twitter?