How couturierb/sandbox-spring works
Spring Sandbox is a small Spring Boot demonstration app. Its main workflows are HTTP health checks, Kafka message publishing and consumption (when the kafka profile is enabled), and SSE streaming, including forwarding Kafka events to connected clients. The graph includes the distinct controllers, messaging services, event DTO, and Kafka configuration. Kafka-to-SSE event forwarding is documented in the README; the sampled consumer and service show the event-publishing and listening sides, but not their runtime wiring.
Main entry points: SseService.java SSE service · KafkaConsumer.java Kafka consumer · KafkaController.java Publish endpoint · KafkaProducer.java Kafka producer
Components 14
Application
- Spring Boot app
src/main/java/com/sandbox/SandboxApplication.java
Health endpoint
- Health endpoint
src/main/java/com/sandbox/health/HealthController.java
Kafka messaging
- Publish endpoint
src/main/java/com/sandbox/kafka/KafkaController.java - Kafka producer
src/main/java/com/sandbox/kafka/KafkaProducer.java - Kafka consumer
src/main/java/com/sandbox/kafka/KafkaConsumer.java - Producer config
src/main/java/com/sandbox/kafka/config/KafkaProducerConfig.java - Consumer config
src/main/java/com/sandbox/kafka/config/KafkaConsumerConfig.java - Topic config
src/main/java/com/sandbox/kafka/config/KafkaTopicConfig.java
SSE streaming
- SSE endpoints
src/main/java/com/sandbox/sse/SseController.java - SSE service
src/main/java/com/sandbox/sse/internal/SseService.java - SSE event
src/main/java/com/sandbox/sse/SseEventDTO.java
Other components
- Kafka broker
- HTTP client
- SSE client
Connections 14
- HTTP client → Health endpoint: checks health
README.md - HTTP client → Publish endpoint: publishes message
README.md - Publish endpoint → Kafka producer: sends message
src/main/java/com/sandbox/kafka/KafkaController.java - Kafka producer → Kafka broker: publishes to
src/main/java/com/sandbox/kafka/KafkaProducer.java - Kafka consumer → Kafka broker: listens to
src/main/java/com/sandbox/kafka/KafkaConsumer.java - Kafka consumer → SSE event: publishes event
src/main/java/com/sandbox/kafka/KafkaConsumer.java - Kafka consumer → SSE service: event forwarded
README.md - SSE service → SSE event: handles event
src/main/java/com/sandbox/sse/internal/SseService.java - HTTP client → SSE endpoints: requests stream
README.md - SSE endpoints → SSE service: gets stream
src/main/java/com/sandbox/sse/SseController.java - SSE service → SSE client: sends events
src/main/java/com/sandbox/sse/internal/SseService.java - Producer config → Kafka broker: configures connection
src/main/java/com/sandbox/kafka/config/KafkaProducerConfig.java - Consumer config → Kafka broker: configures connection
src/main/java/com/sandbox/kafka/config/KafkaConsumerConfig.java - Topic config → Kafka broker: declares topic
src/main/java/com/sandbox/kafka/config/KafkaTopicConfig.java