Built on Play Framework, Slick, Backbone, Webjars, RequireJS, CoffeeScript and Dustjs using the H2 in-memory database.
Scala CoffeeScript CSS HTML
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Play 2.5.x Todo list example app

A Todo list application built on Play Framework (Scala), Slick, Webjars, Backbone, RequireJS, CoffeeScript and Dustjs using the H2 in-memory database.


  1. Setup Play routes and methods to interact with Backbone CRUD.
  2. Shows use of Play JSON Objects / Reads / Writes / Formatters.
  3. Renders based on successful Backbone synced calls to the database.
  4. Grouping of Models, Collections, Views etc. in the app object.
  5. RequireJS structure and setup with config.
  6. Uses Dustjs renderer and template loading.
  7. Has front and backend validation returning JsObjects.
  8. In-line editing from Play Framework Zentasks sample application.


npm install
activator run


May 8, 2016 (7.0)

  • Updated to Play 2.5.3 and sbt to 0.13.11
  • Updated sbt-dustjs-linkedin to 1.0.4 with new package.json build
  • Updated play-slick to 2.0.0 with evolutions
  • Updated all of the sbt plugins to latest version
  • Updated links to dist libraries from webjar bower packages
  • Removed all DBAction calls, now using Futures for all database access calls
  • Cleaned up coffeescript, imports, and self referencing
  • Now using fold with errors instead of map to handle parsing json
  • Added specs2 tests and updated Selenium Firefox test
  • Added jenv java-version file

August 5, 2014 (6.0)

July 23, 2014 (5.0)

  • Updated to Play 2.3.2
  • Added todoitem to require config
  • Updated play-slick to 0.8.0-RC2

July 8, 2014 (4.0)

  • Updated to Play 2.3.1
  • Added to Activator templates
  • Updated play-slick to 0.8.x - using scala version 2.11.x
  • Updated from play-dustjs to sbt-dustjs-linkedin
  • Now using webjars
  • Changed from MIT license to Apache 2

November 18, 2013 (3.0)

  • Updated to Play 2.2.1
  • Now using latest Dust templating play-dustjs
  • Updated play-slick to - latest for Play 2.2.x
  • Added build.sbt and removed Build.scala file
  • Updated TodoController to use DBAction with new parser built-in
  • Updated Todo Model to use new DAO separation component
  • Updated tests to use PlaySpecification
  • Updated todo js module to use new bindAll from Underscore with concat functions
  • Updated javascript file versions

September 3, 2013

  • Updated to Play 2.1.3
  • Updated play-slick to 0.4.0 - latest for Play 2.1
  • Added implicit sessions to models removing the withSessions
  • Added an example of using DBAction then grabbing the request as json with validation
  • Added an example of using a json body parser to retrieve the request then using DB withSession
  • Updated tests to use session

July 29, 2013

  • Added DBType text for content column.

July 25, 2013 (2.0)

  • Now using Slick via play-slick instead of anorm.
  • Using Slick via DB with session instead of DBAction for now.
  • Removed evolution, now using Slick DDL generation.
  • Removed reads and writes, now using format since Option Long is used instead of PK.
  • Added selenium / fluentlenium tests.
  • Move Require JS shim configuartion options to main.
  • Removed domReady using jQuery ready now.