Application provides crypto exchange service with User and Wallet creation. Functionality for making deposits and withdrawals, as well as placing orders. Orders are matched with each other and executed in FIFO order.
The Project already has gradle wrapper (so you don't need to have it installed). It will download all other dependencies.
Execute gradle build (It may take a while in the first run):
./gradlew build
Run docker compose:
cd docker
docker-compose up
After the message of BUILD SUCCESS, the application is ready to run:
./gradlew bootRun
Application will be available on http://localhost:8080 (Can be changed in application.yaml).
Open API documentation will be available at http://localhost:8080/api-docs/v3/openapi Swagger UI will be available at http://localhost:8080/api-docs/swagger-ui
- 🧠 Backend
- ☕️ Kotlin
- 🍃 Spring Boot
- WebFlux
- Data R2DBC
- SpringDoc OpenAPI+Swagger
- ⚙️ Misc
- Liquibase
- 🧪 Tests
- JUnit 5
- Mockk
- Testcontainers
- Awaitility
- 💾 Storage
- 🔗 PostgreSQL
- 🏗 Gradle
- 🐳 Docker compose