I was recently talking to Alon (one of the core TKL devs) about a web app I'm building for work. He gave me some great advice and a few good leads.
Firstly he strongly suggested that I use some sort of framework (the first iteration of my appliance was raw php). He also suggested that some of my UI desires could be fulfilled with Bootstrap.js and/or better still Backbone.js (I had been looking at jQuery, perhaps jQueryUI or jQueryTools). He warned that Backbone has a steep learning curve but great rewards on offer.
And whilst I was originally a little resistant and didn't take it all completely onboard I have pondered over it and decided that I am going to do it properly and have been looking more at Backbone and/or Bootstrap.
And I think I've found exactly what I was after and am so excited that I wanted to share:
I started this thread as I plan to create a patch for it. But for now it only include instructions for install and very basic getting started (which took a little as there isn't a lot of simple obvious stuff that I could find - probably because it's so new). Hopefully this fills a small gap between the info available about Phreeze and the great tutorials on the phreeze.com site (install and initial config isn't covered other than a couple of threads on GitHub).
Based on TKL LAMP it's a simple case of:
cd /var/www git clone git://github.com/jasonhinkle/phreeze.git a2enmod rewrite service apache restart
I also had a couple of issues with permissions intially so changed the ownership to the webserver user account:
chown -R www-data:www-data /var/www/phreeze
You will now find the App builder start page as http://<appliance-ip-or-FQDN>/phreeze/builder/
To get you started you will need to have a DB set up that contains the data you plan to work with. I did this with (the included in TKL LAMP) phpMyAdmin. You then need to give the DB details to Phreeze (on the builder page dicussed above). Note leave the port field blank (by default it fills in the port field with the default MySQL port, but the TKL appliance uses a socket by default instead).
Beyond that everything else you need to get started should be covered on the Phreeze website (www.phreeze.com)