In August, 2013 I published the Tasker Project on GitHub to illustrate the article I wrote for Java Magazine #123, Boosting applications with REST and Backbone.js .
Tasker is a web application using Backbone.js and Handlebars.js on the client-side and Play! over Java on the server-side. This application simulates a very simple Kanban board based on Agile methodologies. Basically, the board can have multiple projects, each project can have multiple stories and each story can have multiple issues, which can be either task, bug or enhancement.
The user can create and remove projects, stories and issues, and also move issues around 4 lanes representing its possible status: Backlog, In Progress, Verify and Signed Off.
The main purpose of Tasker is to demonstrate important front-end concepts of nowadays about smart client-side applications, such as:
- MV* on the client-side with Backbone.js
- REST-based models
- Templating with Handlebars.js
- Using Bootstrap components
- Using Font Awesome fonts
- Writing LESS css
- UI-level i18n
- Responsive/adaptive layout
- Play! Framework as a modern, simple yet powerful back-end
- REST-based routers
- Google Clojure compilation and minification
- Ebean as a simple ORM approach
- JPA-based mapping
- simple query language
- JSON manipulation with Flexjson
- Unit testing with TestNG
- Code coverage
- Setting production profile
- Deploying to Heroku