How alfred-kobby/ussd-applicaton works
This is a Spring Boot USSD application. Its documented workflow starts at a controller; services provide application behavior, and models represent information. The tree also identifies Redis persistence and RabbitMQ messaging components. Source excerpts were not provided for runtime wiring, so the graph does not assume which services call which repositories or messaging components.
Main entry points: UssdController.java USSD controller
Components 17
USSD entry
- USSD controller
src/main/java/com/example/ussdapplication/controller/UssdController.java
Application services
- Request service
src/main/java/com/example/ussdapplication/service/UssdRequestService.java - User service
src/main/java/com/example/ussdapplication/service/UserService.java - USSD request
src/main/java/com/example/ussdapplication/model/UssdRequest.java - USSD response
src/main/java/com/example/ussdapplication/model/UssdResponse.java - USSD session
src/main/java/com/example/ussdapplication/model/UssdSession.java
State and messaging
- Session repository
src/main/java/com/example/ussdapplication/repository/RedisUssdSessionRepository.java - Redis repository
src/main/java/com/example/ussdapplication/repository/RedisRepository.java - Redis
- RabbitMQ configuration
src/main/java/com/example/ussdapplication/configuration/RabbitMqConfiguration.java - RabbitMQ sender
src/main/java/com/example/ussdapplication/service/RabbitMqSender.java - RabbitMQ listener
src/main/java/com/example/ussdapplication/service/RabbitMqListener.java - RabbitMQ
- Transaction repository
src/main/java/com/example/ussdapplication/repository/TransactionRepository.java - User repository
src/main/java/com/example/ussdapplication/repository/UserRepository.java - SMS utility
src/main/java/com/example/ussdapplication/utility/SMSUtils.java
Other components
- USSD caller
Connections 1
- USSD caller → USSD controller: initiates