eLMIS Dispensing service
# eLMIS Dispensing Service
This service allows users to dispense commodities to patients.
## Prerequisites
* Java 1.8+
* Docker 1.11+
* Docker Compose 1.6+
All other dependencies, such as Java, are delivered automatically via the Docker image. It is unnecessary to install them locally to run the service, though often helpful to do so for the sake of development. See the _Tech_ section of openlmis/dev for a list of these optional dependencies.
## Quick Start
1. Fork/clone this repository from GitHub.
```shell
git clone
github.com
```
2. Add an environment file called `.env` to the root folder of the project, with the required
project settings and credentials. For a starter environment file, you can use this
one. e.g.
```shell
curl -o .env -L
raw.githubusercontent.com
```
3. Develop w/ Docker by running `docker-compose run --service-ports dispensing`.
See Developing w/ Docker.
4. You should now be in an interactive shell inside the newly created development
environment, start the Service with: `gradle bootRun`
5. Go to `http:// :8080/` to see the service name
and version. Note that you can determine yourDockerIPAddress by running `docker-machine ip`.
6. Go to `http:// :8080/dispensing/docs` to see the APIs.
## Building & Testing
Gradle is our usual build tool. This template includes common tasks
that most Services will find useful:
- `clean` to remove build artifacts
- `build` to build all source. `build`, after building sources, also runs unit tests. Build will be successful only if all tests pass.
- `generateMigration -PmigrationName= ` to create a
"blank" database migration file. The file
will be generated under `src/main/resources/db/migration`. Put your
migration SQL into it.
- `test` to run unit tests
- `integrationTest` to run integration tests
- `sonarqube` to execute the SonarQube analysis.
The **test results** are shown in the console.
While Grad …