Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/chriniko13/bank-account-service


https://github.com/chriniko13/bank-account-service

awaitility cdi hibernate-validator jackson jandex javafaker javatuples javax-validation joor jsonassert junit log4j lombok okhttp undertow weld-se

Last synced: 2 days ago
JSON representation

Awesome Lists containing this project

README

        

### Bank Account Service

##### Assignee: Nikolaos Christidis ([email protected])


#### Build Jar and Run
* Execute: `mvn clean package`

* Then execute: `java -jar target/revolut-home-task-1.0-SNAPSHOT.jar`

#### Execute Unit Tests
* Execute: `mvn clean test`

#### Execute Integration Tests
* Execute: `mvn clean integration-test -DskipUTs=true` or `mvn clean verify -DskipUTs=true`

#### Test Coverage (via JaCoCo)
* In order to generate reports execute: `mvn clean verify`
* In order to see unit test coverage open with browser: `target/site/jacoco-ut/index.html`
* In order to see integration test coverage open with browser: `target/site/jacoco-it/index.html`


#### Provided Endpoints

##### Account Management
* Create account
* Delete account
* Find all accounts
* Find account by id
* Update account

##### Account Operation
* Credit
* Debit
* Find account's transactions (display)
* Transfer amount (from ---> to)

##### Operational
* Health-check endpoint
* JMX registration of accounts in memory map


#### Possible Alternatives
Instead of using StampedLock, we could use: `https://github.com/pveentjer/Multiverse`