How nguyen-trung-tien/tientech-shop works
TIENTECH Shop is an AI-enabled e-commerce application with customer shopping and checkout, order and payment handling, and administrative operations. The graph combines documented architecture and capabilities with paths from the tree; sampled source confirms review service persistence, review-image uploads, address API use, and variant API use, but does not expose all subsystem wiring.
Main entry points: OrderController.js Request controllers · OrderService.js Cart and order services · axiosClient.jsx Frontend API · index.js Commerce models
Components 25
Customer storefront
- Storefront pages
FrontEnd/src/routes/UserRoutes.jsx - Product discovery
FrontEnd/src/pages/ProductListPage/ProductListPage.jsx - Cart and checkout
FrontEnd/src/pages/CheckoutPage/CheckoutPage.jsx - Orders and reviews
FrontEnd/src/pages/OrdersHistory/OrderHistory.jsx
Commerce backend
- API routes
BackEnd/src/routes/index.js - Request controllers
BackEnd/src/controllers/OrderController.js - Catalog services
BackEnd/src/services/product/ProductService.js - Cart and order services
BackEnd/src/services/order/OrderService.js - Order use cases
BackEnd/src/services/order/use-cases/OrderCreationUseCase.js - Review services
BackEnd/src/services/marketing/ReviewService.js - Commerce models
BackEnd/src/models/index.js - Payment service
BackEnd/src/services/order/PaymentService.js - VNPay and PayPal
Admin and AI
- Admin console
FrontEnd/src/Admin/pages/Dashboard/Dashboard.jsx - Admin services
BackEnd/src/services/common/AdminService.js - AI capabilities
BackEnd/src/services/ai - AI providers
BackEnd/src/config/gemini.js
Application platform
- Frontend API
FrontEnd/src/utils/axiosClient.jsx - Express application
BackEnd/src/app.js - Authentication
BackEnd/src/middleware/authMiddleware.js - MySQL
- Redis cache
BackEnd/src/config/redis.js - Cloudinary
BackEnd/src/config/cloudinaryConfig.js
Other components
- Customer
- Administrator
Connections 28
- Customer → Storefront pages: browses
- Storefront pages → Product discovery: discovers products
- Customer → Cart and checkout: shops
- Customer → Orders and reviews: manages purchases
- Product discovery → Frontend API: requests catalog
- Cart and checkout → Frontend API: requests checkout
- Orders and reviews → Frontend API: requests orders
- Frontend API → Express application: sends requests
- Express application → API routes: dispatches
- API routes → Authentication: checks access
- API routes → Request controllers: dispatches
- Request controllers → Catalog services: invokes
- Request controllers → Cart and order services: invokes
- Request controllers → Review services: invokes
- Cart and order services → Order use cases: uses
- Catalog services → Commerce models: reads and writes
- Cart and order services → Commerce models: reads and writes
- Review services → Commerce models: reads and writes
- Commerce models → MySQL: persists data
- Cart and order services → Payment service: coordinates payment
- Payment service → VNPay and PayPal: initiates payment
- Administrator → Admin console: manages shop
- Admin console → Frontend API: requests operations
- Request controllers → Admin services: invokes
- Request controllers → AI capabilities: invokes
- AI capabilities → AI providers: uses models
- Review services → Cloudinary: uploads review images
- Cart and order services → Redis cache: uses cache