Most developers I know have a million pet projects they’re either working on or would like to work on. For me, one of the many things I wish I had time for was writing a new Customer Relationship Management (CRM) tool. No, I’m not looking to go up against the big boys like SalesForce and SugarCRM, it would be more of a learning project. It seems like most every web developer will at one time write at least one of the following things:
- Content Management System (CMS)
- Customer Relationship Management (CRM)
- Project Management (typically just a Basecamp clone these days)
I’ve done the first two already, and have no desire to do the third, but I have been wanting to have another crack at at CRM tool for a while now. The first one I wrote worked well, was customer support focused and was utilized for years with only minor issues, but the code left a lot to be desired. This new one would mainly be written using tools and technologies I wanted to spend more time with, and would probably consist of some of the following:
- PHP Framework:
- CodeIgniter 2.x
- PHP ORM:
- Doctrine 2.x
- jQuery UI & jQuery Mobile
- HTML5 & CSS3
A brief explanation of the above list: I’ve written code with CodeIgniter 1.7 and Doctrine 1.x and have been pretty happy with it, so I would probably continue with their newest iterations. MySQL is obviously a reliable standby, but I’ve done some tinkering with Cassandra, and all I read about are people doing things with MongoDB, so maybe one of those instead, or along with MySQL (if it’s even wise to do such a thing). Node.js is another thing that I’ve messed around with that seems great, but I’ve barely scratched the surface. And, finally, having a mobile app would be nice, and I’ve spent a ton of time with jQuery, so extending that exposure out into the UI and mobile sphere just seems obvious. Attended a conference session on jQuery Mobile that made it seem almost too easy, so I’ll have to see if that actually matches reality.
Anyways, been thinking about this for a little bit, and just wanted to start writing about it to help get my thoughts down someplace.