How navadeep-16/multi-warehouse-inventory-control-stock-reconciliation-system works
Nexora Retail is a multi-warehouse inventory platform. Its documented core workflow is product setup, warehouse stock replenishment, and order placement: the order service validates products, reserves inventory, and records a confirmed order, releasing earlier reservations if a later step fails. The React application also exposes role-based operations for warehouse management, transfers, procurement, reconciliation, fulfillment, analytics, and administration. Backend calls are grounded in sampled controllers and OrderService; broader UI capabilities and service discovery are described in the README/tree, while detailed frontend request wiring was not sampled.
Main entry points: ApiGatewayApplication.java API gateway · App.jsx React application · InventoryDataContext.jsx Inventory data context · OrderService.java Order saga service
Components 27
Retail application
- React application
frontend/src/App.jsx - Authentication context
frontend/src/context/AuthContext.jsx - Inventory data context
frontend/src/context/InventoryDataContext.jsx - Auth API client
frontend/src/api/authApi.js - Product API client
frontend/src/api/productApi.js - Inventory API client
frontend/src/api/inventoryApi.js - Order API client
frontend/src/api/orderApi.js - Operations and reporting
frontend/src/pages
Platform and identity
- API gateway
api-gateway/src/main/java/com/omnistock/gateway/ApiGatewayApplication.java - Gateway JWT filter
api-gateway/src/main/java/com/omnistock/gateway/filter/JwtAuthenticationFilter.java - Eureka discovery
discovery-service/src/main/java/com/omnistock/discovery/DiscoveryServiceApplication.java - Auth endpoints
auth-service/src/main/java/com/omnistock/auth/controller/AuthController.java - JWT issuance
auth-service/src/main/java/com/omnistock/auth/service/JwtService.java - User repository
auth-service/src/main/java/com/omnistock/auth/repository/UserRepository.java
Product catalog
- Product endpoints
product-service/src/main/java/com/omnistock/product/controller/ProductController.java - Product repository
product-service/src/main/java/com/omnistock/product/repository/ProductRepository.java
Warehouse inventory
- Stock endpoints
inventory-service/src/main/java/com/omnistock/inventory/controller/InventoryController.java - Warehouse endpoints
inventory-service/src/main/java/com/omnistock/inventory/controller/WarehouseController.java - Product validation client
inventory-service/src/main/java/com/omnistock/inventory/client/ProductClient.java - Stock item repository
inventory-service/src/main/java/com/omnistock/inventory/repository/StockItemRepository.java - Warehouse repository
inventory-service/src/main/java/com/omnistock/inventory/repository/WarehouseRepository.java
Order orchestration
- Order endpoints
order-service/src/main/java/com/omnistock/order/controller/OrderController.java - Order saga service
order-service/src/main/java/com/omnistock/order/service/OrderService.java - Product lookup client
order-service/src/main/java/com/omnistock/order/client/ProductClient.java - Stock reservation client
order-service/src/main/java/com/omnistock/order/client/InventoryClient.java - Order repository
order-service/src/main/java/com/omnistock/order/repository/OrderRepository.java
Other components
- Retail user
Connections 33
- Retail user → React application: uses
- React application → Authentication context: provides auth
- React application → Inventory data context: provides data
- React application → Operations and reporting: routes to
- Authentication context → Auth API client: requests auth
- Inventory data context → Product API client: loads products
- Inventory data context → Inventory API client: loads stock
- Inventory data context → Order API client: loads orders
- Auth API client → API gateway: sends requests
- Product API client → API gateway: sends requests
- Inventory API client → API gateway: sends requests
- Order API client → API gateway: sends requests
- API gateway → Gateway JWT filter: validates JWT
- API gateway → Auth endpoints: routes auth
- API gateway → Product endpoints: routes catalog
- API gateway → Stock endpoints: routes stock
- API gateway → Warehouse endpoints: routes warehouses
- API gateway → Order endpoints: routes orders
- Auth endpoints → User repository: reads and writes
- Auth endpoints → JWT issuance: issues token
- Product endpoints → Product repository: reads and writes
- Stock endpoints → Stock item repository: reads and writes
- Stock endpoints → Product validation client: validates product
- Product validation client → Product endpoints: checks product
- Warehouse endpoints → Warehouse repository: reads and writes
- Order endpoints → Order saga service: places order
- Order endpoints → Order repository: queries orders
- Order saga service → Product lookup client: validates items
- Product lookup client → Product endpoints: checks product
- Order saga service → Stock reservation client: reserves or releases
- Stock reservation client → Stock endpoints: changes stock
- Order saga service → Order repository: saves result
- Eureka discovery → API gateway: registers services