Imperium: History

Imperium was created in 2001 when Edoceo was started. Edoceo was unable to find a suitable Open Source package to perform these needs to the we desired. It was designed serve as an alternative to QuickBooks as we had bad experiences with that application.

Research was put into some Open Source projects such as GnuCash and SQL Ledger (remember this is 2001). Our experience in the financial industry led us away from those applications, their data structure did not suit us. Also, there was not any Web Applications for this purpose and none we could find provided mobile options.

Retail and Close Source applications were available but, Edoceo cares not for such things.

Shortly after this research concluded we concieved Imperium. Initially only for Clients (Contacts,Vendors) and Invoices and a To Do we quiclky found that limited. Work Orders were added to track more complex work and Book Keeping features were added for financial tracking. Then the rest of the application grew from that base.

Imperium has been developed with on servers running the Gentoo GNU/Linux running Apache 2.0 - 2.2 web-server and PostgreSQL 8.3 database back-end. All code for Imperium was written, on Kubuntu workstations, with jEdit 4.3 in PHP using the Zend Framework. Imperium also makes use of the jQuery libaries and Silk Icon Set. Other necessary libraries are available in PEAR and where possible these packages have been used in favour of re-implementing (not re-inventing) the wheel.

Short Time Line, Newest to Oldest

This small history of Imperium shows where we've been and how we've progressed. The progression of the application has been slow. The devlopement process could be considered "Real Time" or "JIT" as we built this appliation as we needed features. This does not mean ad-hoc cowboy code; each feature was evaluated, analysed and designed before being implemented.


Reworked to Zend 1.5.2 after frustrations with Cake's Models. Extened Accounting Tax Forms.


Spent much of this year working into CakePHP framework, extending some of the Accounting Statements. Added the Account Wizard that can memorise transactions and standard Account Statements (Cash Flow, etc).


Stable native PHP5 application but missing features at this point as we have reached a point that our internal Framework is somewhat limited. Refocused on adding an automated Selenium test to the application.


Upgrading to PHP5 and re-working application using PHP5 magic and Object to make a smarter framework for the application. Mostly as a choice to reduce code replication but actidentially making a framework happens when the Application is this big (which is still very small). Considering GPL/MIT release but thought Imperium was too sloppy and buggy for general public release.


Imported into our SVN repository, bringing in some outside development and testing help.


Adding Accounting/Bookkeeping Features for Transactions (Journal Entry/Ledger Entries) and Ledger and Journal views. Data Structures follow what happens on paper and hopefully create a more extensible option that the other applications we reviewed two years ago.


PDF Invoice Output using FPDF.


Added Client Channels to track multiple contact points. Stubbed in a simple Accounting Systems.


Starting Imperium (at this time with no name) to hold Clients and track Invoices. Had to add Work Orders shortly after to track things like Projects and Subscriptions.