How ridhorambu93/spring-boot-modu-mono works
This is a Spring Boot modular-monolith API for authentication, user profiles, banking customers, and province/city master data. The main workflow is an HTTP request reaching a controller, which delegates to a domain service and returns an API response; authentication additionally issues or refreshes JWTs. The README documents PostgreSQL persistence and the broader endpoint capabilities. Several service implementations and security components are present in the tree but were not sampled, so uncertain internal calls are omitted.
Main entry points: SecurityConfig.java Security configuration · AuthController.java Auth endpoints · AuthService.java Authentication service · JwtAuthFilter.java JWT authentication filter
Components 21
Identity and security
- Auth endpoints
src/main/java/com/boilerplate/module/user/controller/AuthController.java - Authentication service
src/main/java/com/boilerplate/module/user/service/AuthService.java - Auth implementation
src/main/java/com/boilerplate/module/user/service/AuthServiceImpl.java - Refresh-token service
src/main/java/com/boilerplate/module/user/service/RefreshTokenService.java - JWT authentication filter
src/main/java/com/boilerplate/infrastructure/security/JwtAuthFilter.java - JWT service
src/main/java/com/boilerplate/infrastructure/security/JwtService.java - Rate-limit filter
src/main/java/com/boilerplate/infrastructure/security/RateLimitFilter.java - Security configuration
src/main/java/com/boilerplate/infrastructure/security/SecurityConfig.java
User accounts
- User endpoints
src/main/java/com/boilerplate/module/user/controller/UserController.java - User service
src/main/java/com/boilerplate/module/user/service/UserService.java - User implementation
src/main/java/com/boilerplate/module/user/service/UserServiceImpl.java
Banking customers
- Customer endpoints
src/main/java/com/boilerplate/module/customer/controller/BankingUserController.java - Customer service
src/main/java/com/boilerplate/module/customer/service/BankingUserService.java - Customer implementation
src/main/java/com/boilerplate/module/customer/service/BankingUserServiceImpl.java
Location master data
- Province endpoints
src/main/java/com/boilerplate/module/masterdata/controller/ProvinceController.java - Province service
src/main/java/com/boilerplate/module/masterdata/service/ProvinceService.java - Province implementation
src/main/java/com/boilerplate/module/masterdata/service/ProvinceServiceImpl.java - City endpoints
src/main/java/com/boilerplate/module/masterdata/controller/CityController.java - City service
src/main/java/com/boilerplate/module/masterdata/service/CityService.java - City implementation
src/main/java/com/boilerplate/module/masterdata/service/CityServiceImpl.java
Other components
- API client
Connections 18
- API client → Auth endpoints: sends auth requests
- Auth endpoints → Authentication service: delegates auth
- Authentication service → Auth implementation: implemented by
- API client → User endpoints: requests profile
- User endpoints → User service: delegates lookup
- User service → User implementation: implemented by
- API client → Customer endpoints: manages customers
- Customer endpoints → Customer service: delegates operations
- Customer service → Customer implementation: implemented by
- API client → Province endpoints: manages provinces
- Province endpoints → Province service: delegates operations
- Province service → Province implementation: implemented by
- API client → City endpoints: manages cities
- City endpoints → City service: delegates operations
- City service → City implementation: implemented by
- JWT authentication filter → JWT service: validates tokens
- Security configuration → JWT authentication filter: configures security
- Security configuration → Rate-limit filter: configures security