Lately, I’ve been toying with the idea of developing a bunch of tools that will make my professional life just a little bit easier to manage. The most important of these is a timesheeting system and an automated invoicing system.
The initial idea for these were actually sparked by what I saw and used while I was working in Black Sheep Creative, back in New Zealand. Why did that experience spark an interest in building my own tools? Well, I came to realize that while there is a lot of software out there that does what I’m looking for, alot of that software either comes with functionality I don’t want or wouldn’t use, or it is missing one or two pieces of functionality that I really want. True, I could just write the added functionality into the software, but that would like mean adjusting something else somewhere in the system and past experiences with osCommerce has taught that this often ends in tears. If it doesn’t, you often get locked down to a specific version of the software you’re using.
So after about 2 years of thinking and um-ing and ah-ing, Timeline was born. It’s still very much in development, but the plan is to create a piece of software that tracks your time, relative to an active project and at the end of whatever billing term you have, outputs an invoice (format undetermined at this point) and emails it to the appropriate client.
So far, I’ve written all the database management classes (MySQL of course, MySQLi and SQLite to come) and written the intial database schema for the application. I will soon start working on the classes to handle the time tracking, project management and invoice output, then the real work begins with the boot strapping code and main engine.
At this point, I hope to implement it in a loose MVC architecture with either a Front-Controller or Page-Controller to get the ball rolling. Before that can happen, however, I need to get a prototype system together to see how all the pieces interact and what data flows in which direction.
Future extensions/modification could see timeline end up being implemented as a full-scale project management system, complete with Roles, milestones, etc.
Watch this space…