- Java 11
- Spring
- MongoDB (reactive)
- Webflux/Reactor/Webclient
- DDD / intro CQRS
- JUnit 5
- POST /api/accounts - create an account
- POST /api/accounts/{accountId}/balance/add - add amount to the account balance
- POST /api/accounts/{accountId}/balance/subtract - subtract amount from the account balance
- GET /api/accounts/{accountId} - return view for accounts for given accountId
- Groovy/Spock
- POST /api/expenses - create an expense
- POST /api/incomes create an income
- GET /api/transactions/{accountId} - return all transactions (incomes + expenses) attached to provided accountId
- Kotlin 1.3
- MockK
- JUnit 5