How iqbal7379/product-management-api works
This is a Spring-based product-management API: clients can authenticate and refresh tokens, then create, browse, update, and delete products and their associated items. Requests enter through REST controllers and are handled by services, which use Spring Data repositories for persistence. Authentication also issues JWT access tokens and stores, verifies, and rotates refresh tokens. The README is empty, and only selected source files were provided; security-filter wiring and other unsampled behavior are therefore not mapped.
Main entry points: AuthService.java Auth Service · ItemService.java Item Service · ProductRepository.java Product Repository · AuthController.java Auth Controller
Components 14
API Endpoints
- Auth Controller
product-management-api/src/main/java/com/zest/productmanagementapi/controller/AuthController.java - Product Controller
product-management-api/src/main/java/com/zest/productmanagementapi/controller/ProductController.java - Item Controller
product-management-api/src/main/java/com/zest/productmanagementapi/controller/ItemController.java
Catalog Services
- Product Service
product-management-api/src/main/java/com/zest/productmanagementapi/service/ProductService.java - Item Service
product-management-api/src/main/java/com/zest/productmanagementapi/service/ItemService.java
Authentication
- Auth Service
product-management-api/src/main/java/com/zest/productmanagementapi/service/AuthService.java - JWT Service
product-management-api/src/main/java/com/zest/productmanagementapi/security/JwtService.java - Refresh Service
product-management-api/src/main/java/com/zest/productmanagementapi/service/RefreshTokenService.java
Persistence
- User Repository
product-management-api/src/main/java/com/zest/productmanagementapi/repository/UserRepository.java - Refresh Repository
product-management-api/src/main/java/com/zest/productmanagementapi/repository/RefreshTokenRepository.java - Product Repository
product-management-api/src/main/java/com/zest/productmanagementapi/repository/ProductRepository.java - Item Repository
product-management-api/src/main/java/com/zest/productmanagementapi/repository/ItemRepository.java - Relational Database
Other components
- API Client
Connections 17
- API Client → Auth Controller: login or refresh
- API Client → Product Controller: manage products
- API Client → Item Controller: manage items
- Auth Controller → Auth Service: delegates
- Product Controller → Product Service: delegates
- Item Controller → Item Service: delegates
- Auth Service → User Repository: finds user
- Auth Service → JWT Service: generates token
- Auth Service → Refresh Service: manages refresh
- Refresh Service → Refresh Repository: reads and writes
- Product Service → Product Repository: reads and writes
- Item Service → Item Repository: reads and writes
- Item Service → Product Repository: looks up product
- User Repository → Relational Database: persists users
- Refresh Repository → Relational Database: persists tokens
- Product Repository → Relational Database: persists products
- Item Repository → Relational Database: persists items