I thought it would be interesting to give a bit of background (both technical and historical) on this very specific application: CS-4U, a billing system for utilities.
My company got a contract 3 years ago with the East-Timor government to manage the electricity company over there. At that time, gov. accounts were quite empty and money for investment was hard to find (it is not the case anymore). My company was looking for a new billing system, but with no cash…it is a bit hard! Here is a list of some of the key issues we were facing:
I suggested that we could develop a simple application based on free/open-source software in order to reduce cost. We will make it as a web application to ease deployment and training as well as remote maintenance when necessary. Moreover I wanted this application as open-source to make sure it can be re-used in the future in a lot of places around the world with similar issues.
This application should meet the following minimum requirements:
After agreement, I started working on a first version that we launched in July 2006. I choose to develop it on a xAMP (x for any OS). This version was a very basic MVC and the UI was almost 100% ajax (really bad idea!) and took me 6 months to finalize it (including a long period defining requirements). After facing some limitations, I decided it was time to rewrite the all app with a good PHP/MVC framework. After looking around the open-source market, I decided to go for Symfony mainly because of its good documentation (so good when you start…but never enough!), its development based on years of experience and its trial to speed-up development with good practices.
With Symfony, It took me only 1 and half month to re-write the all apps and add even new features (like multi-utilities and multi-services), including time to learn the framework organization and specificities, this was simply amazing for me. Not only it saves me time during development, but also after production, it is easy to know where to find what. If you follow the framework recommendations everything find its right position easily and you will not get lost to know where to find this class or a specific method.
The new version, Symfony-based, is in place since June 2007 for the electricity company and the government is considering to use it as well for the water department (around 100.000 customers) in a coming future.
Don’t get me wrong, the application has still a lot to be improved ( as well as new features to come) specially when you learn more and more about a framework capabilities. But I will talk about the future in another post…
RSS feed for comments on this post · TrackBack URI
Leave a reply