How nguyenpix/kltn_laptop-ecommerce-ai- works
This repository is a laptop e-commerce application with a Next.js storefront, a separate admin console, and an Express/MongoDB API. The main customer journey is browsing products, managing a cart, checking out, and viewing orders; authentication, wishlist/reviews, recommendations, news, and AI chat support adjacent workflows. The graph captures major capabilities documented by the route and feature tree. Backend wiring is based on sampled server, routes, and service/controller excerpts; unsampled controller internals are represented at subsystem level, so uncertain call links are omitted.
Main entry points: index.js API routing · chatController.js Conversation API · feedbackController.js Feedback API · orderController.js Cart & orders API
Components 34
Storefront
- Shop & account
frontend/src/app/(main) - Customer auth
frontend/src/features/auth - Product catalog
frontend/src/features/products - Cart & checkout
frontend/src/store/cartStore.ts - Order history
frontend/src/app/(main)/order/page.tsx - Wishlist & feedback
frontend/src/store/wishlistStore.ts - Recommendations UI
frontend/src/features/recommendations - AI chat UI
frontend/src/features/chat
Admin Console
- Admin dashboard
admin/src/app/(main)/dashboard - Admin auth
admin/src/features/auth - Catalog management
admin/src/features/products - Order management
admin/src/features/orders - News management
admin/src/features/news
API Backend
- API routing
backend/src/routes/v1/index.js - Catalog API
backend/src/controllers/productController.js - Cart & orders API
backend/src/controllers/orderController.js - User API
backend/src/controllers/userController.js - Feedback API
backend/src/controllers/feedbackController.js - News API
backend/src/controllers/newsController.js - Conversation API
backend/src/controllers/chatController.js
AI & Recommendations
- Recommendation API
backend/src/controllers/recommendationController.js - Hybrid ranking
backend/src/services/hybridRecService.js - User profiles
backend/src/services/userProfileService.js - RAG product search
backend/src/services/ragSearchService.js - Text embeddings
backend/src/services/embeddingService.js - LLM responses
backend/src/services/llmService.js
Persistence
- MongoDB
backend/src/config/mongodb.js - Product data
backend/src/models/Product.js - Cart & order data
backend/src/models/Order.js - User data
backend/src/models/User.js - Feedback data
backend/src/models/Feedback.js - News data
backend/src/models/News.js - Conversation data
backend/src/models/Conversation.js
Other components
- Shopper
Connections 42
- Shopper → Shop & account: browses
- Shopper → Customer auth: signs in
- Shopper → AI chat UI: asks
- Shop & account → Product catalog: shows catalog
- Product catalog → Catalog API: requests products
- Cart & checkout → Cart & orders API: submits cart
- Order history → Cart & orders API: requests orders
- Customer auth → User API: authenticates
- Wishlist & feedback → Feedback API: updates wishlist
- Wishlist & feedback → Feedback API: submits reviews
- Recommendations UI → Recommendation API: requests suggestions
- AI chat UI → Conversation API: sends messages
- Admin dashboard → Admin auth: gates access
- Admin dashboard → Catalog management: manages catalog
- Admin dashboard → Order management: manages orders
- Admin dashboard → News management: manages news
- Catalog management → Catalog API: maintains products
- Order management → Cart & orders API: manages orders
- News management → News API: maintains articles
- API routing → Catalog API: dispatches
- API routing → Cart & orders API: dispatches
- API routing → User API: dispatches
- API routing → Feedback API: dispatches
- API routing → News API: dispatches
- API routing → Conversation API: dispatches
- API routing → Recommendation API: dispatches
- Catalog API → Product data: reads/writes
- Cart & orders API → Cart & order data: reads/writes
- User API → User data: reads/writes
- Feedback API → Product data: checks product
- Feedback API → Feedback data: reads/writes
- News API → News data: reads/writes
- Conversation API → Conversation data: reads/writes
- Recommendation API → Hybrid ranking: gets rankings
- Recommendation API → User profiles: gets profiles
- Hybrid ranking → Product data: reads products
- User profiles → User data: reads user data
- Conversation API → RAG product search: searches context
- Conversation API → LLM responses: generates reply
- RAG product search → Text embeddings: embeds query
- RAG product search → Product data: searches products
- API routing → MongoDB: connects at startup