How tfk0120/cmacgm_inter_assignment works
This Spring Boot application exposes a customer-list REST API with customer CRUD and paging, plus user registration and login that return JWTs. The customer path runs from HTTP controller through service logic to JPA persistence; authentication runs through user services and issues tokens. The tree names security configuration and JWT filter components, but their source was not sampled, so their runtime wiring is omitted.
Main entry points: UserController.java Account endpoints · UserServiceImpl.java Account operations · CustomerController.java Customer endpoints · CustomerServiceImpl.java Customer operations
Components 17
Customer API
- Customer endpoints
src/main/java/com/customerlist/api/controller/CustomerController.java - Customer operations
src/main/java/com/customerlist/api/service/CustomerServiceImpl.java - Customer input
src/main/java/com/customerlist/api/model/Customer.java
Accounts and JWT
- Account endpoints
src/main/java/com/customerlist/api/controller/UserController.java - Account operations
src/main/java/com/customerlist/api/service/UserServiceImpl.java - Account input
src/main/java/com/customerlist/api/model/UserModel.java - Auth response
src/main/java/com/customerlist/api/model/UserAuth.java - JWT token utility
src/main/java/com/customerlist/api/security/jwt/JwtTokenUtil.java - JWT request filter
src/main/java/com/customerlist/api/security/jwt/JwtRequestFilter.java - JWT user lookup
src/main/java/com/customerlist/api/security/jwt/JwtUserDetailsService.java - Web security config
src/main/java/com/customerlist/api/security/WebSecurityConfig.java
JPA persistence
- Customer record
src/main/java/com/customerlist/api/entity/CustomerEntity.java - Customer repository
src/main/java/com/customerlist/api/repository/CustomerRepository.java - Relational database
- User record
src/main/java/com/customerlist/api/entity/UserEntity.java - User repository
src/main/java/com/customerlist/api/repository/UserRepository.java
Other components
- API client
Connections 15
- API client → Customer endpoints: sends requests
- Customer endpoints → Customer operations: calls
- Customer endpoints → Customer input: accepts input
- Customer operations → Customer repository: queries and saves
- Customer repository → Relational database: persists records
- Customer operations → Customer record: maps input
- API client → Account endpoints: sends requests
- Account endpoints → Account operations: calls
- Account endpoints → Account input: accepts input
- Account endpoints → JWT token utility: generates token
- Account endpoints → Auth response: returns auth data
- Account operations → User repository: queries and saves
- User repository → Relational database: persists records
- Account operations → User record: handles account
- JWT user lookup → Account operations: loads account