noms-digital-studio/ndelius-new-tech

Name: ndelius-new-tech

Owner: NOMS Digital Studio

Description: nDelius New Technology

Created: 2017-06-05 15:46:33.0

Updated: 2018-05-24 12:48:38.0

Pushed: 2018-05-24 12:48:41.0

Homepage:

Size: 11671

Language: Java

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

'NDelius New Technology' Web Application

CircleCI

A Play Framework based website, developed in Java 8 with additional Lombok support.

Fully asynchronous and non-blocking from the ground up, with the potential to serve 10,000 concurrent users from a single server.

Building and running

Prerequisites:

Build command (includes running unit and integration tests):

Running locally: PARAMS_USER_TOKEN_VALID_DURATION=2000d \ STORE_PROVIDER=mongo \ OFFENDER_API_PROVIDER=stub \ APPLICATION_SECRET=mySuperSecretKeyThing \ ELASTIC_SEARCH_HOST=<the hostname of your ES cluster> \ ELASTIC_SEARCH_PORT=443 \ NOMIS_API_BASE_URL=<the URL of the NOMIS system> \ NOMIS_PAYLOAD_TOKEN=<the NOMIS API payload token> \ NOMIS_PRIVATE_KEY=<the NOMIS API private key> \ ANALYTICS_MONGO_CONNECTION=<the URL of you MongoDb instance>/analytics \ sbt -Dlogback.application.level=DEBUG run

Running deployable fat jar (after building):

Configuration parameters can be supplied via environment variables. See application.conf for full list of variables.

e.g.:

The website endpoint defaults to local port 9000.

Run all tests:

Run frontend tests:

Circle CI build
Branch build

The build pipeline performs the following steps

If changes are required to the Smoke Tests which would break a master build then just branch the Smoke Tests with a branch of the exact name as this branch. CircleCI will attempt to use a matching branch name else will use master

Master build

The build pipeline performs the following steps

Development notes

The Play Framework provides the Google Guice Dependency Injection framework as standard, and MVC based Webpages are generated via Play Framework Twirl templates.

Building and running with Docker
Dependencies

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.