/transfer-service

Primary LanguageJavaApache License 2.0Apache-2.0

transfer-service

RESTful API (including data model and the backing implementation) for money transfers between accounts.

Quick start

  1. Build:
    • Unix
    ./gradlew -Dorg.gradle.java.home=/path/to/java/11/home shadowJar
    • Windows
    gradlew.bat -Dorg.gradle.java.home=/path/to/java/11/home shadowJar
  2. Run:
    • Java (4567):
    path/to/java/11/home/bin/java -jar build/libs/transfer-service-0.0.1-SNAPSHOT-all.jar
    • Docker (8080):
    docker build -t transfer-service .
    docker run -p 8080:4567 transfer-service

Implementation notes:

  • The same data model is used in all layers for simplicity;
  • JSR 303: Bean Validation should be considered instead of custom solution;
  • In-memory data store is used for simplicity;
  • Event consumer and producer applications are in the same process for simplicity;
  • Balance reservation is omitted for simplicity