This is the practice project I created as I followed the Kafka course on Udemy. The course is called "Introduction to Kafka with Spring Boot" by John Thompson.
What is different from the course official sample project
- Kotlin instead of Java
- Gradle instead of Maven
- A common Gradle module to define the common Kafka topic names and Kafka message classes, shared by both
tracking-service
anddispatcher-service
- Kotest + Mockk + Kotest Spring Extension, instead of JUnit + Mockito
- Using a Docker Compose file to start Kafka, see compose.kafka-dev.yml
- Everything taught in the course is implemented, except the retry section