
Those of you who follow this blog or my Twitter stream will be aware of my DojoList project. DojoList is quickly morphing from a quick hack I started writing to create a Google Map for the Hampshire Judo Association website to a real "Software Project".
After initially starting with all my own PHP, I quickly moved to a MVC Framework (LimonadePHP). This meant that I did not have to "Re-invent the wheel" structuring the code. And it has been helping keep my code more modular and tidy.
I started from the beginning using version control, which is something I do on virtually anything I type now. So I have been using GitHub to host my source code. Git is great as I can commit changes even when offline. I don't use 99% of Git and the more I use it the more I love it.
Due to my original target server being an icky WIndows IIS server, I made the decision to keep the application simple with the bare minimum of dependencies. So rather than using MySQL or similar to store the data, I decided to use files. Specifically, I am storing the data in XML. XML is parsed from bog standard PHP and also gives you structured data that is nice and portable.
As the project has reached a certain level of usability and completeness, I have had the opportunity to do some refactoring. Specifically, I have moved some code from within my controllers to the model for the Dojo. It's a small refactoring, but there is a great feeling when you look at your code and can go "yep that's much cleaner". It also meant that when I wanted to add a view for an individual Dojo, it was less than an hours work as the code was all seperately and tidy.
I have started using the PHP_CodeSniffer tool. I have always liked the Perl::Critic and Perl::Tidy tool in Perl, so using PHP_CodeSniffer to push myself to the PEAR Coding Standards is great and I hope it will mean that it'll make the code more friendly to others who want to use the code or better yet contributing to it.
Last, but not least, I am using the AGPL license for the project. WHich like it's brother/sister the GPL is an Open Source license that protects the code and also gives others permission to use the software, to change the software, to improve it, etc etc. JUST AS LONG AS YOU SHARE! I'm no expert on licensing, but I like the fact that the AGPL protects my effort and still give you permission to hack. Better yet it means if you improve it, you need to share your improvements, so everyone benefits!
I recently rolled DOjoList out into "production" and have a couple of organisations that have already expressed interest in using it on their websites! (WOW!) I just setup http://www.DojoList.org (ORG not COM, don't go to the .COM version, go to the .ORG domain ok). I want to use it as a home for the project, but may also use it as a service for those people who don't want to install it on their website (for some reason).
As you can see from the length of this post, the transition from a quick hack to a proper project is interesting and exciting and I am learning a lot. I hope that the interest in the project continues to grow and that will drive me to improve not only the code by my own ability to create it.
Lance

Search



