Lightbend Activator

Play Framework with Reactive Mongo Driver

Play Framework with Reactive Mongo Driver

December 3, 2014
playframework reactive mongo scala reactive-mongo

A starter application for Play! easy concurrent CRUD on MongoDB and explicit type-safe management of relations through model objects.

How to get "Play Framework with Reactive Mongo Driver" on your computer

There are several ways to get this template.

Option 1: Choose play-reactive-mongo in the Lightbend Activator UI.

Already have Lightbend Activator (get it here)? Launch the UI then search for play-reactive-mongo in the list of templates.

Option 2: Download the play-reactive-mongo project as a zip archive

If you haven't installed Activator, you can get the code by downloading the template bundle for play-reactive-mongo.

  1. Download the Template Bundle for "Play Framework with Reactive Mongo Driver"
  2. Extract the downloaded zip file to your system
  3. The bundle includes a small bootstrap script that can start Activator. To start Lightbend Activator's UI:

    In your File Explorer, navigate into the directory that the template was extracted to, right-click on the file named "activator.bat", then select "Open", and if prompted with a warning, click to continue:

    Or from a command line:

     C:\Users\typesafe\play-reactive-mongo> activator ui 
    This will start Lightbend Activator and open this template in your browser.

Option 3: Create a play-reactive-mongo project from the command line

If you have Lightbend Activator, use its command line mode to create a new project from this template. Type activator new PROJECTNAME play-reactive-mongo on the command line.

Option 4: View the template source

The creator of this template maintains it at

Option 5: Preview the tutorial below

We've included the text of this template's tutorial below, but it may work better if you view it inside Activator on your computer. Activator tutorials are often designed to be interactive.

Preview the tutorial


Congratulations! Your reactive application is ready to go. With this template, you'll get a full working asyncronous CRUD implementation for ReactiveMongo, using just few lines of code; the plugin will take care of parents' relations and will automatically update children.
Moreover, the plugin let you use multiple databases for different collections effortlessly.

To test the Application:
  1. Open a terminal in your project's directory
  2. Type play run
  3. Head your favourite browser to http://localhost:9000/
  4. Play with the family

Family's Routes


  • GET /granpaOpen the Granparents' page
  • GET /granpa/tableGet all granpas in JSON ready to be parsed by a DataTable
  • GET /granpa/edit/ + idGet form for granpa with id
  • GET /granpa/newGet a form for creating a new granpa
  • POST /granpa/submitSubmit the new entry!


  • GET /fatherOpen the Fathers' page
  • GET /father/tableGet all fathers in JSON ready to be parsed by a DataTable
  • GET /father/edit/ + idGet form for father with id, useful for editing and deleting
  • GET /father/newGet a form for creating a new father
  • POST /father/submitSubmit the new entry!


  • GET /sonOpen the Sons' page
  • GET /son/tableGet all sons in JSON ready to be parsed by a DataTable
  • GET /son/edit/ + idGet form for son with id
  • GET /son/newGet a form for creating a new son
  • POST /son/submitSubmit the new entry!


Thanks to: