Being a bachelor; I stay with my long term (college) friends. When my colleagues get to know we all guys happily live together, most of the time I hear a “wow”. And we have a cook who prepares delicious food [most of the time ], and we have a lot of common expense together, plus occasional/frequent personal expense things.
And yes, I dislike “Accounting”, and I hate keeping track of pennies spilt here and there. At the end of the month, I usually am at a loss, and I don’t care too much either. But I know I had to bookkeep something, but I detest that old fashioned “double entry bookkeeping”. I don’t want to care what are my assets, what are my liabilities, what is the liquid cash I have, and where to debit/credit, general ledger, blah, blah…
And I’ve been using GNote, the note taking application, for the purpose. But it needed manual calculation in the end anyway.
Few days back I realized that I need something better as I don’t want to sum all those items, meanwhile exclude some personal expenses or money lent to some guy. And I decided that it’s time to create a shiny new, uber-simple expense manager (which knows only how to add and/or exclude some entries).
The design concerns, in the order of importance, were:
- Should be lightweight, and should consume less resources
- Minimal external dependency
- Maintainable, clean design and clean code
Which resulted in some of the design choices:
- No database backend, instead a simple file backing store. The file structure is very simple, hence items can be easily added/removed/modified with a text editor as well.
- Qt4 framework for development, which makes ExMan a cross platform application
- (At least close to) Model-View-Controller architecture
It was exciting to develop on Qt4 platform, QtCreator and QtAssistant are awesome. Had fun with Signals/Slots, QTableWidget, QCalendarWidget, setCheckedState, SelectionModel,… learn by exploring.
And, without further ado, I present to thee, ExMan, the super simple personal expense/accounting manager:
The Monthly Amount shows the total of all expenses, and the Excluded Amount shows the total of items excluded (personal items and other things).
ExMan source tar ball and RPM are available in Sourceforge.net project page.