This is a simple web app that I'm using to learn and showcase technologies of interest. A demo is running on heroku at angular-play-example.herokuapp.com.
In my spare time I brew my own beer. In the logn term I'd like to write an application to manage this process. I am using this application as a test bed for figuring out the various formulas required and experiementing with the user interface. It is basically something meaningful to do in some new technologies that I am keen to learn.
The front end has been built in AngularJS as a Single Page, MVC application. The layout and theme have been implemented using Bootstrap.
For now the backend is less important as I'm primarily focused on learning JavaScript and HTML5 front ends. In the long run I would like to implement the backend using something along the Spring or Jersey lines. For now I've used the Play Framework as it only takes a few commands to get the entire project setup working and running and serving (and cause Play does look pretty awesome).
The front end has been built without any shortcuts and taking all the necessary JavaScript design issues into account. To that regard it creates its own namespaced Module for all the JavaScript sources. The source code has been developed in the AngularJS MVC form and all the REST calls are down using the frameworks way of doing it. No shortcuts have been taken.
KendoUI has been used as the component library.
The application uses an out-of-the-box Bootstrap configuration with the only change being that a different theme has been applied in order to get a different navbar styling.
The Play server which is serving this website and providing content/data via REST JSON calls is also an out-of-the-box configuration. A few shortcuts have been taken around how it maps its routes to Controllers but given Play isn't the main focus I was happy to get it working rather than try to perfect it. Guice has been setup for dependency management/injection however the server hasn't gotten that involved yet and some Spring beans classes are included but no longer used (they were used temporarily for some nasty workarounds).