How ribsantos/microservices_demo works
This repository implements a user-registration service that persists a user and publishes a welcome-email message, plus an email service that consumes the message, sends mail, and records the delivery status. The graph follows the sampled service calls and RabbitMQ listener configuration; no README was provided, and other capabilities or deployment details are not inferred.
Main entry points: UserController.java User controller · UserService.java User service · UserProducer.java Email producer · EmailConsumer.java Email consumer
Components 15
User registration
- User controller
user/src/main/java/com/ms/user/controllers/UserController.java - User service
user/src/main/java/com/ms/user/services/UserService.java - User repository
user/src/main/java/com/ms/user/repositories/UserRepository.java - User database
- User request DTO
user/src/main/java/com/ms/user/dtos/UserRecordDto.java
Message transport
- Email producer
user/src/main/java/com/ms/user/producers/UserProducer.java - Email queue
user/src/main/java/com/ms/user/configs/RabbitMQConfig.java - Email consumer
email/src/main/java/com/ms/email/consumers/EmailConsumer.java - Email message DTO
user/src/main/java/com/ms/user/dtos/EmailDto.java - Email record DTO
email/src/main/java/com/ms/email/dtos/EmailRecordDto.java
Email delivery
- Email service
email/src/main/java/com/ms/email/services/EmailService.java - Email repository
email/src/main/java/com/ms/email/repositories/EmailRepository.java - Email database
- Mail provider
Other components
- Registration client
Connections 14
- Registration client → User controller: submits registration
- User controller → User request DTO: accepts payload
- User controller → User service: saves user
- User service → User repository: persists user
- User repository → User database: writes user
- User service → Email producer: publishes email
- Email producer → Email message DTO: builds message
- Email producer → Email queue: sends message
- Email queue → Email consumer: dispatches message
- Email consumer → Email record DTO: receives payload
- Email consumer → Email service: requests delivery
- Email service → Mail provider: sends email
- Email service → Email repository: saves status
- Email repository → Email database: writes record