How benmassaoudlazher789-creator/app-e-commerce works
Red Store is a shoe-commerce application: shoppers browse/search the catalog, manage a wishlist and persistent cart, then complete shipping, payment, and order review; users can also maintain profiles and addresses. Admins manage products, orders, and dashboard metrics, including AI-assisted descriptions and image uploads. The frontend uses Redux actions for API-backed state; Express routes dispatch backend handlers that work with MongoDB and external services. Frontend action/page wiring beyond the sampled files is represented only where documented in the README; unsampled internals are not inferred.
Main entry points: server.js Express API · Product.js Products · product.controller.js Catalog management · order.controller.js Order processing
Components 29
Storefront
- Route application
frontend/src/App.jsx - Catalog & search
frontend/src/pages/Shop.jsx - Cart
frontend/src/pages/Cart.jsx - Checkout steps
frontend/src/pages/Checkout.jsx - Profile
frontend/src/pages/Profile.jsx - Admin dashboard
frontend/src/pages/dashboard/AdminProducts.jsx
Client state
- Auth actions
frontend/src/JS/actions/auth.action.js - Cart actions
frontend/src/JS/actions/cart.action.js - Product actions
frontend/src/JS/actions/Prod.action.js - Order actions
frontend/src/JS/actions/order.action.js - Payment actions
frontend/src/JS/actions/payment.action.js - Wishlist actions
frontend/src/JS/actions/wishlist.action.js
Backend API
- Express API
backend/server.js - Identity & profile
backend/controller/auth.controller.js - Catalog management
backend/controller/product.controller.js - Cart operations
backend/controller/cart.controller.js - Order processing
backend/controller/order.controller.js - Payment intents
backend/routes/payment.routes.js - Admin operations
backend/controller/admin.controller.js
Commerce data
- Users
backend/model/User.js - Products
backend/model/Product.js - Persistent carts
backend/model/Cart.js - Orders
backend/model/Order.js - Payment records
backend/model/PaymentIntent.js
External services
- MongoDB
- Stripe
- Cloudinary
- Anthropic Claude
Other components
- Shopper
Connections 40
- Shopper → Route application: uses
README.md - Route application → Catalog & search: routes to
frontend/src/App.jsx - Shopper → Cart: manages cart
README.md - Shopper → Checkout steps: checks out
README.md - Shopper → Profile: manages profile
README.md - Shopper → Admin dashboard: administers
README.md - Auth actions → Cart actions: merges cart
frontend/src/JS/actions/auth.action.js - Auth actions → Wishlist actions: loads wishlist
frontend/src/JS/actions/auth.action.js - Catalog & search → Product actions: loads catalog
README.md - Cart → Cart actions: updates cart
README.md - Checkout steps → Payment actions: creates payment
README.md - Checkout steps → Order actions: submits order
README.md - Profile → Auth actions: updates profile
README.md - Admin dashboard → Product actions: manages products
README.md - Express API → Identity & profile: mounts routes
backend/server.js - Express API → Catalog management: mounts routes
backend/server.js - Express API → Cart operations: mounts routes
backend/server.js - Express API → Order processing: mounts routes
backend/server.js - Express API → Payment intents: mounts routes
backend/server.js - Express API → Admin operations: mounts routes
backend/server.js - Identity & profile → Users: reads/writes
backend/controller/auth.controller.js - Identity & profile → Products: reads products
backend/controller/auth.controller.js - Catalog management → Products: reads/writes
backend/controller/product.controller.js - Catalog management → Cloudinary: uploads images
backend/controller/product.controller.js - Catalog management → Anthropic Claude: requests descriptions
backend/controller/product.controller.js - Cart operations → Persistent carts: reads/writes
backend/controller/cart.controller.js - Cart operations → Products: checks stock
backend/controller/cart.controller.js - Order processing → Orders: creates orders
backend/controller/order.controller.js - Order processing → Products: checks stock
backend/controller/order.controller.js - Order processing → Payment records: checks payment
backend/controller/order.controller.js - Payment intents → Stripe: creates intent
backend/routes/payment.routes.js - Payment intents → Payment records: stores intent
backend/routes/payment.routes.js - Admin operations → Orders: reads orders
backend/controller/admin.controller.js - Admin operations → Products: manages products
backend/controller/admin.controller.js - Admin operations → Users: reads users
backend/controller/admin.controller.js - Users → MongoDB: persists
README.md - Products → MongoDB: persists
README.md - Persistent carts → MongoDB: persists
README.md - Orders → MongoDB: persists
README.md - Payment records → MongoDB: persists