modern-kotlin-microservice

Car Storage is a service responsible for storing cars data. It is an example of a modern, reactive and lightweight microservice written with Kotlin.

Car storage is written in a reactive paradigm. It makes it ideal for low-latency, high-throughput workloads. Additionally, its public API is secured by JWT token. Such token can be generated by an OAuth2 & OpenId connect provider (e.g. Keycloak).

Technologies used:

  • Kotlin 1.6.21
  • JVM 17
  • Maven 3.8.4
  • Spring Boot 2.6.7 (Webflux)
  • Spring Data R2DBC (+ PostgreSQL R2DBC drivers)
  • Testcontainers 1.17.1 (+ JUnit, Mockk)
  • OpenApi
  • PostgreSQL 14
  • Docker 20.10.12

Architecture:

architecture-diagram

Docker Hub:

https://hub.docker.com/u/dsniatecki

How to start the system:

  1. Clone repo
  2. Execute: docker-compose -f docker-compose-0.2.0.yml up

GitHub

View Github