How max-eee/e-commerce-recommender works
This is a Medusa-backed Next.js commerce storefront with an added recommendation demonstration. Its distinctive workflow accepts product and user-behavior data, parses it, scores candidates with a hybrid engine, adds AI explanations and image enrichment, then stores and displays the recommendations. The tree also exposes the standard shopping journey—browse products, inspect details, manage cart, and access an account. Recommendation endpoint and helper relationships are based on sampled source; most storefront page wiring is not sampled, so those links are kept conservative.
Main entry points: gemini-service.ts AI Parsing and Explanations · route.ts Recommendations API · input-section/index.tsx Recommendation Input · recommendations-section/index.tsx Recommendation Display
Components 24
Recommendations
- Recommendation Input
src/modules/home/components/input-section/index.tsx - Detect Users API
src/app/api/recommendations/detect-users/route.ts - Parse Users API
src/app/api/recommendations/parse-users/route.ts - Recommendations API
src/app/api/recommendations/route.ts - Hybrid Scoring Engine
src/lib/recommendation-engine.ts - AI Parsing and Explanations
src/lib/gemini-service.ts - Recommendation Cookie Utility
src/lib/util/recommendation-cookies.ts - Recommendation Display
src/modules/store/components/recommendations-section/index.tsx - Recommendations Page
src/app/recommendations/page.tsx
Product Browsing
- Product and Category Pages
src/app/products/[handle]/page.tsx - Store and Collection Pages
src/app/store/page.tsx - Browse Templates
src/modules/store/templates/index.tsx - Product Template
src/modules/products/templates/index.tsx
Shopping and Account
- Cart Page
src/app/cart/page.tsx - Cart Template
src/modules/cart/templates/index.tsx - Account Pages
src/app/account/@dashboard/page.tsx - Account Template
src/modules/account/templates/account-layout.tsx
External Services
- Medusa Commerce Backend
- Google Gemini
- Unsplash Image Service
Commerce Data
- Product and Catalog Data
src/lib/data/products.ts - Cart Data
src/lib/data/cart.ts - Customer Data
src/lib/data/customer.ts
Other components
- Shopper
Connections 30
- Shopper → Recommendation Input: enters data
- Recommendation Input → Detect Users API: detects users
- Recommendation Input → Recommendations API: requests recommendations
- Detect Users API → AI Parsing and Explanations: parses input
- Parse Users API → AI Parsing and Explanations: parses input
- Recommendations API → AI Parsing and Explanations: parses data
- Recommendations API → Hybrid Scoring Engine: scores candidates
- Recommendations API → AI Parsing and Explanations: generates explanations
- AI Parsing and Explanations → Google Gemini: requests generation
- AI Parsing and Explanations → Unsplash Image Service: fetches images
- Recommendations API → Recommendation Input: returns results
- Recommendation Input → Recommendation Cookie Utility: saves results
- Recommendation Display → Recommendation Cookie Utility: reads results
- Recommendations Page → Recommendation Display: renders
- Recommendation Display → Shopper: shows suggestions
- Shopper → Store and Collection Pages: browses catalog
- Shopper → Product and Category Pages: views product
- Store and Collection Pages → Browse Templates: renders
- Product and Category Pages → Product Template: renders
- Browse Templates → Product and Catalog Data: loads products
- Product Template → Product and Catalog Data: loads product
- Product and Catalog Data → Medusa Commerce Backend: requests catalog
- Shopper → Cart Page: manages cart
- Cart Page → Cart Template: renders
- Cart Template → Cart Data: loads cart
- Cart Data → Medusa Commerce Backend: requests cart
- Shopper → Account Pages: manages account
- Account Pages → Account Template: renders
- Account Template → Customer Data: loads customer
- Customer Data → Medusa Commerce Backend: requests customer