How moelashmawy/inventory-application works
The Shopping App is a MERN storefront and order-tracking system. Customers browse products, manage a cart and addresses, place orders, and follow fulfillment; sellers manage products and mark orders shipped, while shippers deliver them and admins manage roles and catalog permissions. The graph separates the React experience, API routing and controllers, and MongoDB models. README documents the role-based lifecycle and additional facilities; unsampled frontend actions and several backend handlers limit which cross-layer calls can be verified.
Main entry points: orderController.js Order lifecycle · App.js Application routes · server.js HTTP server · permissionsController.js Role administration
Components 25
React storefront
- Application routes
views/src/App.js - Catalog browsing
views/src/components/AllProducts.js - Account and addresses
views/src/components/account-settings - Cart and checkout
views/src/components/cart/Cart.js - Role dashboards
views/src/components/dashboard
Express API
- HTTP server
server.js - Product routes
routes/api/product.js - Order routes
routes/api/order.js - User routes
routes/api/users.js - Permission routes
routes/api/permission.js - Authentication
middlewares/auth.js - Product management
controllers/productController.js - Role administration
controllers/permissionsController.js - User accounts
controllers/userController.js - Cart operations
controllers/cartController.js - Address management
controllers/addressController.js - Wishlist management
controllers/wishlistController.js - Category management
controllers/categoryController.js
Order fulfillment
- Order lifecycle
controllers/orderController.js
MongoDB models
Other components
- Customer
Connections 28
- Customer → Application routes: uses
views/src/App.js - Application routes → Catalog browsing: routes to
views/src/App.js - Application routes → Account and addresses: routes to
views/src/App.js - Application routes → Role dashboards: routes to
views/src/App.js - Application routes → Cart and checkout: routes to
views/src/App.js - HTTP server → Product routes: mounts
server.js - HTTP server → Order routes: mounts
server.js - HTTP server → User routes: mounts
server.js - HTTP server → Permission routes: mounts
server.js - Product routes → Product management: dispatches
routes/api/product.js - Order routes → Order lifecycle: dispatches
routes/api/order.js - User routes → User accounts: dispatches
routes/api/users.js - Permission routes → Role administration: dispatches
routes/api/permission.js - Product routes → Authentication: checks access
routes/api/product.js - Order routes → Authentication: checks access
routes/api/order.js - Product management → Products: reads and writes
controllers/productController.js - Order lifecycle → Products: reads
controllers/orderController.js - Order lifecycle → Carts: reads and updates
controllers/orderController.js - Order lifecycle → Orders: creates and updates
controllers/orderController.js - Order lifecycle → Shippers: finds shipper
controllers/orderController.js - Role administration → Users: updates roles
controllers/permissionsController.js - Role administration → Shippers: manages shipper
controllers/permissionsController.js - User accounts → Users: reads and writes
controllers/userController.js - Cart operations → Carts: reads and updates
controllers/cartController.js - Cart operations → Products: reads product
controllers/cartController.js - Customer → Order lifecycle: places and tracks
README.md - Order lifecycle → Order lifecycle: advances fulfillment
README.md - Customer → Role administration: role administration
README.md