How quoctrinh1011/cnpm-backup works
ANH LỚN SHOP combines a customer storefront with separate Admin and Manager portals over a shared Spring backend and PostgreSQL. The customer journey runs from product discovery and cart through checkout/payment, order follow-up, and post-sale feedback or support; Manager workflows add customer care, surveys, inventory, and reporting, while Admin governs internal accounts and audit. Source excerpts confirm selected auth, order, survey, and Manager API links; other feature connections are shown only where the README documents them.
Main entry points: manager-api.js Manager API client · api.js Customer API client · OrderService.java Order lifecycle · PaymentCollectionService.java Payment handling
Components 22
Customer commerce
- Storefront
frontend/src/app/App.jsx - Customer API client
frontend/src/api/api.js
Staff portals
- Manager portal
frontend/src/features/manager/ManagerApp.jsx - Manager API client
frontend/src/api/manager-api.js - Admin portal
frontend/src/features/admin/AdminApp.jsx
Backend services
- Order lifecycle
backend/src/main/java/com/htttdn/crm/service/OrderService.java - Catalog and stock
backend/src/main/java/com/htttdn/crm/controller/ProductController.java - Payment handling
backend/src/main/java/com/htttdn/crm/service/PaymentCollectionService.java - Returns and refunds
backend/src/main/java/com/htttdn/crm/service/ReturnManagementService.java - Customer care
backend/src/main/java/com/htttdn/crm/service/CustomerCareService.java - Surveys and rewards
backend/src/main/java/com/htttdn/crm/controller/SurveyController.java - CRM reporting
backend/src/main/java/com/htttdn/crm/service/AnalyticsService.java - Admin operations
backend/src/main/java/com/htttdn/crm/service/AdminUserService.java
Identity and access
- Authentication
backend/src/main/java/com/htttdn/crm/service/AuthService.java - JWT tokens
backend/src/main/java/com/htttdn/crm/security/JwtTokenService.java
Persistence and payments
- User records
backend/src/main/java/com/htttdn/crm/entity/User.java - Order records
backend/src/main/java/com/htttdn/crm/entity/Order.java
Other components
- Customer
- Manager
- Admin
- PostgreSQL
- PayOS
Connections 22
- Customer → Storefront: shops
README.md - Storefront → Customer API client: requests data
frontend/src/app/App.jsx - Customer API client → Order lifecycle: uses shared backend
README.md - Customer API client → Catalog and stock: uses shared backend
README.md - Customer API client → Surveys and rewards: uses shared backend
README.md - Manager → Manager portal: operates
README.md - Manager portal → Manager API client: calls
frontend/src/features/manager/ManagerApp.jsx - Manager API client → Order lifecycle: calls endpoints
frontend/src/api/manager-api.js - Manager API client → Customer care: uses shared backend
README.md - Manager API client → CRM reporting: uses shared backend
README.md - Manager API client → Catalog and stock: calls endpoints
frontend/src/api/manager-api.js - Manager API client → Surveys and rewards: uses shared backend
README.md - Manager API client → Returns and refunds: updates returns
- Admin → Admin portal: administers
README.md - Admin portal → Admin operations: uses shared backend
README.md - Authentication → JWT tokens: issues tokens
backend/src/main/java/com/htttdn/crm/service/AuthService.java - Authentication → User records: creates accounts
backend/src/main/java/com/htttdn/crm/service/AuthService.java - Order lifecycle → Order records: manages orders
backend/src/main/java/com/htttdn/crm/service/OrderService.java - Order records → PostgreSQL: persists in
- User records → PostgreSQL: persists in
- Payment handling → PayOS: verifies payment
README.md - Payment handling → Order lifecycle: updates payment state