# Banking Service REST API ## Development assignment for Backend Developer at Finologee ### What has been implemented * All the main requirements * Payment execution as a single transaction * Swagger specification for the REST API * Docker build The application runs on Java 20 using Spring Boot 3.0.6. An H2 database is populated on startup. The initial data is described below. ### What has not been implemented * Pagination * Registering fraud tentatives ### How to run the application The application runs on Java 20, so a JDK should be installed on the build system. #### Manually Using Maven, you can run the following command: ```shell ./mvnw install ``` This will put an executable JAR in `./target`, which can be run using: ```shell java -jar target/*.jar ``` #### Using Docker Build the JAR file as before and then execute the following command to extract the layers from the JAR: ```shell mkdir target/extracted && java -Djarmode=layertools -jar target/*.jar extract --destination target/extracted ``` Building the image: ```shell docker build -t bankingservice . ``` Run it using the following command: ```shell docker run -p 8080:8080 bankingservice ``` ### Populated data