How yeyintthway13/ordermanagementsystem works
This is an order-management system with a Next.js interface and an Express/Mongoose backend. Users browse products, manage a cart, place and track orders; administrators and support staff manage users, products, orders, and inventory adjustments. Backend routes apply role and input checks before controllers perform domain operations. The README documents Redis caching and Socket.IO updates for stock and order status. Some frontend-to-API wiring and the event implementation are not shown, so those links are omitted or marked unverified.
Main entry points: routes.js API mounts · base-controllers.js Shared CRUD / queries · order-routers.js Order routes · inventory-adjustment-routers.js Inventory routes
Components 32
Web interface
- Product pages
Frontend/pages/index.js - Cart
Frontend/pages/cart/index.js - Orders UI
Frontend/pages/orders/index.js - Inventory UI
Frontend/pages/inventory/index.js - Users UI
Frontend/pages/users/index.js - Login / register
Frontend/pages/login/index.js - Product table
Frontend/components/ProductTable/index.js - Cart table
Frontend/components/CartTable/index.js - Order table
Frontend/components/OrderTable/index.js - Inventory table
Frontend/components/InventoryTable/index.js - User table
Frontend/components/UserTable/index.js
API and access
- Express app
Backend/src/app.js - API mounts
Backend/src/routes.js - Product routes
Backend/src/routers/product-routers.js - Order routes
Backend/src/routers/order-routers.js - Inventory routes
Backend/src/routers/inventory-adjustment-routers.js - User routes
Backend/src/routers/user-routers.js - Role / order access
Backend/src/middlewares/auth-role.js - Request validation
Backend/src/middlewares/validate.js
Domain operations
- Product operations
Backend/src/controllers/product-controllers.js - Order operations
Backend/src/controllers/order-controllers.js - Inventory adjustments
Backend/src/controllers/inventory-adjustment-controllers.js - User accounts
Backend/src/controllers/user-controllers.js - Shared CRUD / queries
Backend/src/controllers/base-controllers.js - Product records
Backend/src/models/product-model.js - Order records
Backend/src/models/order-model.js - Adjustment records
Backend/src/models/inventory-adjustment-model.js - User records
Backend/src/models/user-model.js - Redis cache
Live updates
- Socket.IO events
Backend/src/utils/create-io.js
Other components
- Customer
- Admin / Support
Connections 39
- Customer → Product pages: browses
README.md - Customer → Cart: builds cart
README.md - Customer → Orders UI: tracks orders
README.md - Admin / Support → Inventory UI: manages stock
README.md - Admin / Support → Users UI: manages users
README.md - Express app → API mounts: mounts routes
Backend/src/app.js - API mounts → Product routes: mounts
Backend/src/routes.js - API mounts → Order routes: mounts
Backend/src/routes.js - API mounts → Inventory routes: mounts
Backend/src/routes.js - API mounts → User routes: mounts
Backend/src/routes.js - Product routes → Product operations: dispatches
Backend/src/routers/product-routers.js - Order routes → Order operations: dispatches
Backend/src/routers/order-routers.js - Inventory routes → Inventory adjustments: dispatches
Backend/src/routers/inventory-adjustment-routers.js - User routes → User accounts: dispatches
Backend/src/routers/user-routers.js - Order routes → Role / order access: checks access
Backend/src/routers/order-routers.js - Inventory routes → Role / order access: checks roles
Backend/src/routers/inventory-adjustment-routers.js - User routes → Role / order access: checks roles
Backend/src/routers/user-routers.js - Order routes → Request validation: validates input
Backend/src/routers/order-routers.js - Inventory routes → Request validation: validates input
Backend/src/routers/inventory-adjustment-routers.js - User routes → Request validation: validates input
Backend/src/routers/user-routers.js - Product operations → Shared CRUD / queries: uses CRUD
Backend/src/controllers/product-controllers.js - Order operations → Shared CRUD / queries: uses CRUD
Backend/src/controllers/order-controllers.js - Inventory adjustments → Shared CRUD / queries: uses CRUD
Backend/src/controllers/inventory-adjustment-controllers.js - User accounts → Shared CRUD / queries: uses queries
Backend/src/controllers/user-controllers.js - Product operations → Product records: queries
Backend/src/controllers/product-controllers.js - Order operations → Order records: queries
Backend/src/controllers/order-controllers.js - Inventory adjustments → Adjustment records: queries
Backend/src/controllers/inventory-adjustment-controllers.js - User accounts → User records: reads / writes
Backend/src/controllers/user-controllers.js - Shared CRUD / queries → Redis cache: caches results
Backend/src/controllers/base-controllers.js - Order records → Adjustment records: updates stock
Backend/src/models/order-model.js - Order records → Product records: uses products
Backend/src/models/order-model.js - Adjustment records → Product records: uses products
Backend/src/models/inventory-adjustment-model.js - Product records → Socket.IO events: emits stock updates
README.md - Order records → Socket.IO events: emits status updates
README.md - Product pages → Product table: renders
- Cart → Cart table: renders
- Orders UI → Order table: renders
- Inventory UI → Inventory table: renders
- Users UI → User table: renders