Design and implement a RESTful API (including data model and the backing implementation) for money transfers between accounts.
- You can use Java or Kotlin.
- Keep it simple and to the point (e.g. no need to implement any authentication).
- Assume the API is invoked by multiple systems and services on behalf of end users.
- You can use frameworks/libraries if you like (except Spring), but don't forget about requirement #2 and keep it simple and avoid heavy frameworks.
- The datastore should run in-memory for the sake of this test.
- The final result should be executable as a standalone program (should not require a pre-installed container/server).
- Demonstrate with tests that the API works as expected.
- The code produced by you is expected to be of high quality.
- There are no detailed requirements, use common sense.
./mvnw clean package
java -jar target/no-spring-transfer-1.0.0-SNAPSHOT-runner.jar
./mvnw clean test
- Java 11
- Quarkus framework: https://quarkus.io/
- H2 database (in-memory)
- Project Lombok
- Flyway migration engine
- GET http://localhost:8080/account?page=0&limit=5 - - get information about all accounts in system
- GET http://localhost:8080/account/{id} - get information about specific account
- POST http://localhost:8080/transaction - create new transaction
- GET http://localhost:8080/transaction?page=0&limit=200 - get list of transactions