How duygri/do-an-htttdn-crm works
This is a Spring Boot CRM backend with React customer and admin interfaces. The principal customer journey is browsing and filtering products, managing a cart, and placing an order for COD or PayOS checkout; account, profile, feedback, wishlist, notifications, and surveys are supporting capabilities. Admin routes cover management and reporting. The graph combines sampled behavior with capabilities indicated by the source tree; links between unsampled components are omitted where their wiring cannot be confirmed.
Main entry points: api.js API client · OrderService.java Order and checkout · App.jsx Customer storefront · AdminApp.jsx Admin interface
Components 22
Web clients
- Customer storefront
frontend/src/App.jsx - Admin interface
frontend/src/AdminApp.jsx - API client
frontend/src/api.js
Identity and access
- Customer auth
backend/src/main/java/com/htttdn/crm/controller/AuthController.java - Admin auth
backend/src/main/java/com/htttdn/crm/controller/AdminAuthController.java - JWT service
backend/src/main/java/com/htttdn/crm/security/JwtTokenService.java
Customer commerce
- Product catalog
backend/src/main/java/com/htttdn/crm/controller/ProductController.java - Product data
backend/src/main/java/com/htttdn/crm/repository/ProductRepository.java - Cart operations
backend/src/main/java/com/htttdn/crm/service/CartService.java - Order and checkout
backend/src/main/java/com/htttdn/crm/service/OrderService.java - Order and payment data
backend/src/main/java/com/htttdn/crm/repository/OrderRepository.java - PayOS integration
backend/src/main/java/com/htttdn/crm/service/PayosService.java
CRM engagement
- Customer profile
backend/src/main/java/com/htttdn/crm/controller/ProfileController.java - Saved addresses
backend/src/main/java/com/htttdn/crm/controller/AddressController.java - Product feedback
backend/src/main/java/com/htttdn/crm/controller/FeedbackController.java - Customer surveys
backend/src/main/java/com/htttdn/crm/controller/SurveyController.java - Wishlist
backend/src/main/java/com/htttdn/crm/controller/WishlistController.java - Notifications
backend/src/main/java/com/htttdn/crm/controller/NotificationController.java
Admin management
- Admin operations
backend/src/main/java/com/htttdn/crm/controller - Reports and survey stats
backend/src/main/java/com/htttdn/crm/controller/AdminReportController.java
Other components
- Customer
- Admin user
Connections 23
- Customer → Customer storefront: uses
- Admin user → Admin interface: uses
- Customer storefront → API client: requests
- Admin interface → API client: requests
- API client → Customer auth: calls
- API client → Admin auth: calls
- Customer auth → JWT service: issues tokens
- Admin auth → JWT service: issues tokens
- API client → Product catalog: calls
- Product catalog → Product data: searches
- API client → Cart operations: calls
- API client → Order and checkout: calls
- Order and checkout → Product data: locks and updates
- Order and checkout → Order and payment data: persists orders
- Order and checkout → PayOS integration: creates checkout link
- API client → Customer profile: calls
- API client → Saved addresses: calls
- API client → Product feedback: calls
- API client → Customer surveys: calls
- API client → Wishlist: calls
- API client → Notifications: calls
- API client → Admin operations: calls
- API client → Reports and survey stats: calls