From 9c01cc42637f491ba2a4bad863c2b86f568ef2c9 Mon Sep 17 00:00:00 2001 From: kapcake Date: Mon, 15 May 2023 22:52:52 +0200 Subject: [PATCH] Add README --- README.md | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..51976f3 --- /dev/null +++ b/README.md @@ -0,0 +1,58 @@ +# 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