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