GitHub Actions status

# Demo for CQRS with Spring Boot and Apache Kafka The main propose of this project is test CQRS with Event Sourcing. ## Getting Started This project consist of two microservices developed with Spring Boot (Once for Command Service and other for Query Services). Each of them has H2 database for Command and Query. ### Microservice Command Once request for POST new Item, after data was inserted in database, it will publish message in kafka broker. ``` curl --location --request POST 'localhost:8081/phone' \ --header 'Content-Type: application/json' \ --data-raw '{ "name": "iphone12", "model": "11", "color": "red", "price": 800.99 }' ``` ### Microservice Query Next the query service Kafka Listener will recive the message and save the new item in query H2 database. In addition we have a endpoint for get Items presents in query database. This funcionality could be test made POST request to add new Phone in command service. ``` curl --location --request GET 'localhost:8083/phone/iphone12' ``` ![Screenshot](resources/diagram.png) ## Requirements * Docker and docker-compose ## Install For make this demo we dispose of `docker-compose.yml`. This *yaml* raise up containers with kafka, zookeepr, a container with query spring-boot project and other with command spring boot project. ```bash docker-compose up -d ```