Spring Boot applications: producer-api, categorizer-service, collector-service, publisher-api, and news-client.
Spring Cloud Stream: For scalable event-driven apps.
Spring Cloud Schema Registry: Supports schema evolution and storage.
Spring Data Elasticsearch: For data persistence in Elasticsearch.
Spring Cloud OpenFeign: Simplifies web service clients.
Thymeleaf: HTML templating.
Zipkin: Visualizes app traces.
Eureka: Service registration and discovery.
producer-api: Creates and pushes news to Kafka.
categorizer-service: Categorizes news and pushes to a different Kafka topic.
collector-service: Saves news in Elasticsearch and pushes to another Kafka topic.
publisher-api: Reads from Elasticsearch and provides a REST API.
news-client: UI for news display and interacts with publisher-api.
./mvnw clean install --projects commons-news
docker-compose up -d
docker-compose ps
./mvnw clean spring-boot:run