I built my last website when Drupal 5 was still considered hot stuff and Drupal 6 was a mere dream – in other words, a long time ago. It did me very well, but I let it languish and age until it was unreasonable to work with any longer. This primarily occurred because I had not built it sustainably and it was much too cumbersome to make modifications. This time around I vowed to build in a sustainable fashion that would leave room for growth.
I am going to outline just how I did that! This post goes over my planning, how I broke up the functionality into discrete feature modules, and show you the code.