Skip to content

This activator project describes a classic CRUD application with Play 2.4.x, Scala and RethinkDB

License

Notifications You must be signed in to change notification settings

rklick-solutions/play-rethinkdb

Repository files navigation

        _                                    _    _      _         _         _  _     
       | |                                  | |  | |    (_)       | |       | || |    
 _ __  | |  __ _  _   _  ______  _ __   ___ | |_ | |__   _  _ __  | | __  __| || |__  
| '_ \ | | / _` || | | ||______|| '__| / _ \| __|| '_ \ | || '_ \ | |/ / / _` || '_ \ 
| |_) || || (_| || |_| |        | |   |  __/| |_ | | | || || | | ||   < | (_| || |_) |
| .__/ |_| \__,_| \__, |        |_|    \___| \__||_| |_||_||_| |_||_|\_\ \__,_||_.__/ 
| |                __/ |                                                              
|_|               |___/                                                               

This activator project describes a classic CRUD application with Play 2.4.x, Scala and RethinkDB

Building Reactive Play application with RethinkDB

This is a CRUD application, backed by a RethinkDB database. It demonstrates:

  • Handling asynchronous results, Handling time-outs
  • Achieving, Futures to use more idiomatic error handling.
  • Accessing RethinkDB, using Java ReQL command reference.
  • Achieving, table pagination and sorting functionality using interactive FooTable plugin.
  • Replaced the embedded JS & CSS libraries with WebJars.
  • Play and Scala-based template engine implementation
  • Integrating with a CSS framework (Twitter Bootstrap). Twitter Bootstrap requires a different form layout to the default one that the Play form helper generates, so this application also provides an example of integrating a custom form input constructor.
  • Used Bootswatch with Twitter Bootstrap to improve the look and feel of the application

Dependency


The rethinkdb-driver is distributed using Maven Central so it can be easily added as a library dependency in your Play Application's SBT build scripts, as follows:

libraryDependencies += "com.rethinkdb" % "rethinkdb-driver" % "2.2-beta-1"

RethinkDb


  • Installing RethinkDB : install
  • Installing the Java driver : rethinkdb-driver
  • Ten-minute guide with RethinkDB and Java : RethinkDB Java
  • Start RethinkDB using rethinkdb command and hit http://localhost:8080/
  • Create play_rethinkdb database and table r_employees with default configuration
Usage of RethinkDB Java driver

You can use the drivers from Java like this:

import com.rethinkdb.RethinkDB;
import com.rethinkdb.gen.exc.ReqlError;
import com.rethinkdb.gen.exc.ReqlQueryLogicError;
import com.rethinkdb.model.MapObject;
import com.rethinkdb.net.Connection;

public static final RethinkDB r = RethinkDB.r;

Connection conn = r.connection().hostname("localhost").port(28015).connect();

r.db("test").tableCreate("tv_shows").run(conn);
r.table("tv_shows").insert(r.hashMap("name", "Star Trek TNG")).run(conn);

Please check RConnection.scala and RDatabase.scala


Now Play


  • The Github code for the project is at : play-rethinkdb
  • Clone the project into local system
  • To run the Play framework 2.4.x, you need JDK 8 or later
  • Install Typesafe Activator if you do not have it already. You can get it from here: http://www.playframework.com/download
  • Execute activator clean compile to build the product
  • Execute activator run to execute the product
  • play-rethinkdb should now be accessible at localhost:9000

References


About

This activator project describes a classic CRUD application with Play 2.4.x, Scala and RethinkDB

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published