An experiment with creating a full stack application with React, Dropwizard, Ebean, RabbitMQ and Docker.
npm install -g grunt-cli
npm install(Maven will also automatically do this when running
The frontend is automatically bundled into the backend when that is built, so it is only necessary to run this directly when developing.
grunt dev and open
maven test, or via an IDE.
Create Mocha run configurations and point them at the test folder in each project. See the Grunt setup for the options needed.
mvn install in the root of the project and then
java -jar todo\todo-server\target\todo-server-0.0.1-SNAPSHOT.jar server todo\todo-server\config\config.yml.
Create an IntelliJ run configuration for TodoListApplication, then add program arguments:
and VM options:
As above, but with the argument
workers instead of
maven test or via an IDE.
The browser used for integration tests can be selected via the
WEBDRIVER environment variable, either Firefox or Chrome (the default).
PhantomJS is unfortunately not supported as it uses an old version of Selenium which causes classpath issues.
When creating run configurations for tests, add the same VM options as above.
You can make this the default by adding it under Run - Edit Configurations - Defaults - JUnit.
It ensures that Ebean can process the classes that are persisted, even when not running via Maven (where a plugin handles it as part of the build).