How sameerbaral/greencart-grocery-delivery-website works
GreenCart is a grocery e-commerce application with shopper and seller workflows. Shoppers browse products, manage a cart and delivery addresses, and place or review orders; sellers manage inventory and order fulfillment. The graph follows the documented capabilities and sampled entry points; several route and controller details, including address and seller-order wiring, are represented at the directory level because their source was not sampled.
Main entry points: server.js Express API · AppContext.jsx Shared app state · App.jsx Web application · models MongoDB records
Components 28
Shopper experience
- Web application
client/src/App.jsx - Shared app state
client/src/context/AppContext.jsx - Product discovery
client/src/pages/AllProducts.jsx - Product details
client/src/pages/ProductDetails.jsx - Cart and checkout
client/src/pages/Cart.jsx - Delivery addresses
client/src/pages/AddAddress.jsx - Order history
client/src/pages/MyOrders.jsx
Seller dashboard
- Seller portal
client/src/pages/seller/SellerLayout.jsx - Inventory tools
client/src/pages/seller - Order fulfillment
client/src/pages/seller/Orders.jsx
Commerce API
- Express API
server/server.js - User endpoints
server/routes/userRoute.js - Seller endpoints
server/routes/sellerRoute.js - Product endpoints
server/routes/productRoute.js - Cart endpoints
server/routes/cartRoute.js - Address endpoints
server/routes/addressRoute.js - Order endpoints
server/routes/orderRoute.js - User and cart logic
server/controllers/userController.js - Catalog management
server/controllers/productController.js - Address management
server/controllers/addressController.js - Order and payment logic
server/controllers/orderController.js - Seller authentication
server/controllers/sellerController.js - Cart persistence
server/controllers/cartController.js
Data and services
- MongoDB records
server/models - Cloudinary images
server/configs/cloudinary.js - Stripe Checkout
Other components
- Shopper
- Seller
Connections 47
- Shopper → Web application: uses
- Seller → Seller portal: uses
- Web application → Shared app state: provides state
- Web application → Product discovery: routes to
- Web application → Product details: routes to
- Web application → Cart and checkout: routes to
- Web application → Delivery addresses: routes to
- Web application → Order history: routes to
- Web application → Seller portal: routes to
- Shared app state → Product endpoints: fetches products
- Shared app state → Cart endpoints: updates cart
- Shared app state → User endpoints: checks identity
- Shared app state → Seller endpoints: checks seller
- Product discovery → Shared app state: reads products
- Product details → Shared app state: uses catalog
- Cart and checkout → Shared app state: uses cart
- Delivery addresses → Address endpoints: manages address
- Order history → Order endpoints: loads orders
- Seller portal → Inventory tools: routes to
- Seller portal → Order fulfillment: routes to
- Inventory tools → Product endpoints: manages products
- Order fulfillment → Order endpoints: manages orders
- Shared app state → Express API: sends requests
- Delivery addresses → Express API: sends requests
- Order history → Express API: sends requests
- Express API → User endpoints: mounts
- Express API → Seller endpoints: mounts
- Express API → Product endpoints: mounts
- Express API → Cart endpoints: mounts
- Express API → Address endpoints: mounts
- Express API → Order endpoints: mounts
- User endpoints → User and cart logic: dispatches
- Seller endpoints → Seller authentication: dispatches
- Product endpoints → Catalog management: dispatches
- Cart endpoints → Cart persistence: dispatches
- Address endpoints → Address management: dispatches
- Order endpoints → Order and payment logic: dispatches
- User and cart logic → MongoDB records: reads/writes
- Cart persistence → MongoDB records: updates cart
- Catalog management → MongoDB records: reads/writes
- Address management → MongoDB records: reads/writes
- Order and payment logic → MongoDB records: reads/writes
- Catalog management → Cloudinary images: uploads images
- Order and payment logic → Stripe Checkout: creates/verifies payment
- Stripe Checkout → Express API: payment webhook
- Express API → Order and payment logic: dispatches webhook
- Order and payment logic → MongoDB records: updates payment state