Non-Blocking

A simple CRUD application in Play! Framework using Kundera and Cassandra as a Database.

Reading Time: < 1 minute playing-kundera-cassandra: This is a classic CRUD application, backed by Play 2.3.0, Kundera & Cassandra. It demonstrates: Accessing a Cassandra database, using Kundera. Achieving, Futures to use more idiomatic error handling. Accessing JS & CSS libraries by WebJars. Bootswatch-United with Twitter Bootstrap 3.1.1 to improve the look and feel of the application Instructions :- The Github code for the project is at : playing-kundera-cassandra Clone the project Continue Reading

Classic CRUD application in Play Framework 2.3.0 with ReactiveMongo, WebJars and Bootswatch-United

Reading Time: < 1 minute Play 2.3.0 application with ReactiveMongo – reactive, asynchronous and non-blocking Scala driver for MongoDB. This is a classic CRUD application, backed by a MongoDB database. It demonstrates: Achieving, Futures to use more idiomatic error handling. Accessing a MongoDB database, using ReactiveMongo. Achieving, table pagination and sorting functionality. Replaced the embedded JS & CSS libraries with WebJars. Play and Scala-based template engine implementation Bootswatch-United with Twitter Continue Reading

Play Framework 2.2 with WebJars client-side web libraries

Reading Time: < 1 minute WebJars are client-side web libraries (e.g. jQuery & Bootstrap) packaged into JAR (Java Archive) files. WebJars can be added as dependencies to an app by simply adding them to the build.sbt file. There is also a helper library named webjars-play that makes it easy to reference WebJar assets. Here is an example build.sbt file with webjars-play and the bootstrap WebJar as dependencies. Do the following Continue Reading

Employee-Self-Service: Reactive and Non-Blocking Database Access using Play Framework and Anorm – (Part-4)

Reading Time: 2 minutes Last week, We have added Database Access as Reactive and Non-Blocking behaviour in Employee-Self-Service  application. Now we have added some more features. These are following: Achieving, Futures to use more idiomatic error handling. Replaced the embedded JS & CSS libraries with WebJars. Achieving, table pagination and sorting functionality. Before: def list() = Action.async { implicit request => val futureEmpList = scala.concurrent.Future { Employee.list } val timeoutFuture = Promise.timeout("Oops", Continue Reading

Employee-Self-Service: Reactive and Non-Blocking Database Access using Play Framework and Anorm – (Part-3)

Reading Time: 1 minute Last week, We have added Reactive and Non-Blocking behaviour in Employee-Self-Service  application. Now we have implemented Database Access as Reactive and Non-Blocking: Before def list() = Action.async { implicit request => Employee.list match { case Right(data) => Promise.timeout(Ok(html.list(data)), 1 seconds) case Left(error) => Promise.timeout(Ok(html.list(Nil)), 1 seconds) } } After def list() = Action.async { implicit request => val futureEmpList = scala.concurrent.Future { Employee.list } val timeoutFuture = Promise.timeout(“Oops”, 10.second) Continue Reading