How jigar-sable/flipkart-mern works
Flipkart is a MERN storefront with customer shopping and checkout, account/order features, and an administrator dashboard. The customer flow runs from routed React pages through Redux actions to Express routes/controllers and MongoDB models; Paytm handles payment processing. The README documents additional wishlist, saved-items, review, and admin capabilities. Some frontend and backend modules are unsampled, so those branches are included at supported paths, but uncertain internal links are omitted.
Main entry points: App.js Route Application · app.js Express Application · userController.js User Operations · orderController.js Order Operations
Components 31
Storefront
- Route Application
frontend/src/App.js - Product Browsing
frontend/src/components/Products/Products.jsx - Product Details
frontend/src/components/ProductDetails/ProductDetails.jsx - Cart and Saved Items
frontend/src/components/Cart/Cart.jsx - Checkout and Payment
frontend/src/components/Cart/Payment.jsx - Order History
frontend/src/components/Order/MyOrders.jsx - Account Pages
frontend/src/components/User/Account.jsx - Admin Dashboard
frontend/src/components/Admin/Dashboard.jsx - Review Administration
frontend/src/components/Admin/ReviewsTable.jsx
Client State
- Product Actions
frontend/src/actions/productAction.js - Order Actions
frontend/src/actions/orderAction.js - User Actions
frontend/src/actions/userAction.js - Cart Actions
frontend/src/actions/cartAction.js - Wishlist Actions
frontend/src/actions/wishlistAction.js - Saved Item Actions
frontend/src/actions/saveForLaterAction.js - Redux Store
frontend/src/store.js
Backend API
- Express Application
backend/app.js - User Operations
backend/controllers/userController.js - Product Operations
backend/controllers/productController.js - Order Operations
backend/controllers/orderController.js - Payment Operations
backend/controllers/paymentController.js - Authentication Guard
backend/middlewares/auth.js
Commerce Data
- Products
backend/models/productModel.js - Users
backend/models/userModel.js - Orders
backend/models/orderModel.js - Payment Records
backend/models/paymentModel.js
External Services
- Paytm Gateway
- Cloudinary
- SendGrid Mail
Other components
- Shopper
- Administrator
Connections 39
- Shopper → Route Application: uses
README.md - Administrator → Route Application: uses
README.md - Route Application → Product Browsing: routes to
frontend/src/App.js - Route Application → Product Details: routes to
frontend/src/App.js - Route Application → Account Pages: routes to
frontend/src/App.js - Route Application → Order History: routes to
frontend/src/App.js - Route Application → Admin Dashboard: routes to
frontend/src/App.js - Product Browsing → Product Actions: dispatches
frontend/src/components/Products/Products.jsx - Product Details → Product Actions: dispatches
frontend/src/components/ProductDetails/ProductDetails.jsx - Product Details → Cart Actions: dispatches
frontend/src/components/ProductDetails/ProductDetails.jsx - Product Details → Wishlist Actions: dispatches
frontend/src/components/ProductDetails/ProductDetails.jsx - Cart and Saved Items → Cart Actions: dispatches
- Cart and Saved Items → Saved Item Actions: dispatches
- Checkout and Payment → Order Actions: dispatches
frontend/src/components/Cart/Payment.jsx - Order History → Order Actions: dispatches
frontend/src/components/Order/MyOrders.jsx - Account Pages → User Actions: uses
- Review Administration → Product Actions: dispatches
frontend/src/components/Admin/ReviewsTable.jsx - Route Application → Redux Store: dispatches through
- Product Actions → Express Application: requests API
- Order Actions → Express Application: requests API
- User Actions → Express Application: requests API
- Express Application → User Operations: mounts user routes
backend/app.js - Express Application → Product Operations: mounts product routes
backend/app.js - Express Application → Order Operations: mounts order routes
backend/app.js - Express Application → Payment Operations: mounts payment routes
backend/app.js - User Operations → Authentication Guard: guards routes
backend/routes/userRoute.js - Product Operations → Authentication Guard: guards routes
backend/routes/productRoute.js - Order Operations → Authentication Guard: guards routes
backend/routes/orderRoute.js - Payment Operations → Authentication Guard: guards routes
backend/routes/paymentRoute.js - User Operations → Users: reads and writes
backend/controllers/userController.js - Product Operations → Products: reads and writes
backend/controllers/productController.js - Order Operations → Orders: reads and writes
backend/controllers/orderController.js - Order Operations → Products: updates stock
backend/controllers/orderController.js - Payment Operations → Payment Records: records payments
backend/controllers/paymentController.js - Payment Operations → Paytm Gateway: verifies transactions
backend/controllers/paymentController.js - Product Operations → Cloudinary: uploads images
backend/controllers/productController.js - User Operations → Cloudinary: uploads avatars
backend/controllers/userController.js - Order Operations → SendGrid Mail: sends order email
backend/controllers/orderController.js - User Operations → SendGrid Mail: sends reset email
backend/controllers/userController.js