This Project is an Example Implementation of a Hexagonal Architecture using the following technologies:
- JDK 11
- Gradle
- Lombok
- Spring WebFlux
- Spring Kafka
- Spring R2BC
- PostgreSQL Driver
- Docker
1.Run Docker Services:
docker-compose up -d
2.Run Application:
./gradlew bootRun --args='--spring.profiles.active=local'
1.For Jaeger go to browser and navigate: http://localhost:16686/
2.For Kafka Control Center UI go to browser and navigate: http://localhost:9021/
3.For Postgres use PgAdmin4 with URL: http://localhost:5050 and configure Connection using host postgres
- Create a Person as following example:
curl --header "Content-Type: application/json" \
--request POST \
--data '{ "first_name" : "John", "last_name" : "Wick", "date_of_birthday": "1973-03-03", "gender": "M" }' \
http://localhost:8080/health-v1/persons
2.Store a measurement using Conduktor Tool
See the article on Medium: Spring Boot Project using Kafka and R2BC