No description, website, or topics provided.
Groovy JavaScript Vue HTML
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
gradle/wrapper
src Updating Selenium to 3.5.1 and supporting latest Firefox with Geckodr… Aug 19, 2017
.gitignore
README.md
build.gradle
gradlew
gradlew.bat

README.md

Ratpack example app with Vue.js + Webpack frontend

Requirements

  • Java 8 SDK for Ratpack backend
  • For running browser functional tests either
    • Chrome (default)
    • Firefox

Ratpack backend

The Ratpack backend app uses an in-memory H2 database, so it doesn't require any other database to be installed on your machine.

To run the backend in development mode, run

./gradlew run

To enable Gradle's continuous mode to watch for server changes and reload them, add -t

./gradlew run -t

Vue.js Frontend

The Vue.js frontend app is located in the src/app folder.

To install the node dependencies, run

cd src/app
npm install

To run the webpack dev server on localhost:8080, run

cd src/app
npm run dev

The Webpack dev server proxies API requests to the Ratpack server running on port 5050, so during development you can take advantage of the features of the Webpack dev server like live reloading.

Tests

To run unit and API functional tests for the Ratpack app, run

gradlew test

Since the browser tests rely on the Webpack assets being built which can take a little while, I split those tests into their own Gradle task

gradlew testBrowser

By default, the browser functional tests will run in Chrome. To run the tests in Firefox, run

gradlew -Dgeb.env=firefox testBrowser

To run Javascript unit tests for the Vue frontend app, you can either use Gradle

gradlew testJs

or NPM/Webpack

cd src/app
npm run test

And finally to run all the different types of tests, run

gradlew check

Packaging

The app uses the Gradle Shadow plugin for packaging

gradlew shadowJar