How mxxham/wms works
CKB Warehouse is a warehouse-management application for Shell lubricant stock. Operators scan and inspect bins, record receiving and stock movements, and use inventory and audit screens to monitor stock. The central planning workflow loads stock and demand, runs FEFO allocation and picklist planning, then saves plans for wave execution; README documents idempotent posting into the movements ledger. The app also provides bin labels, 3D warehouse visualization, counts, traceability, data-quality checks, and administration. Unsampled feature pages are represented by their exact directories; those branches are based on README capabilities, not inspected implementations.
Main entry points: plan-client.ts Plan coordination · [code] Bin inspection · waves-client.tsx Wave execution · scan Scan bins
Components 22
Warehouse operations
- Scan bins
app/(app)/scan - Bin inspection
app/(app)/bin/[code] - Receiving
app/(app)/receiving - Putaway
app/(app)/putaway - Stock movements
components/bin/movement-actions.tsx - Bin labels
app/(app)/labels - 3D warehouse
components/warehouse/scene.tsx
Allocation and waves
- Allocation planning
app/(app)/allocate/allocate-client.tsx - Plan coordination
lib/allocator/browser/plan-client.ts - Stock adaptation
lib/allocator/adapters/inventory-stock.ts - Allocation pipeline
lib/allocator/pipeline.ts - Wave execution
app/(app)/waves/waves-client.tsx
Inventory oversight
- Cycle counts
app/(app)/counts - Inventory control
app/(app)/inventory - Stock audits
app/(app)/audit - Trace and export
app/(app)/trace - Admin and imports
app/(app)/admin - Data quality
app/(app)/data-quality
Data and presentation
- Supabase database
- Bin data access
lib/bin-data.ts - Warehouse API
app/api/warehouse/route.ts
Other components
- Warehouse operator
Connections 28
- Warehouse operator → Scan bins: scans locations
README.md - Warehouse operator → Receiving: records receipts
README.md - Warehouse operator → Allocation planning: plans allocation
README.md - Warehouse operator → Bin labels: prints labels
README.md - Warehouse operator → 3D warehouse: views warehouse
README.md - Warehouse operator → Cycle counts: counts stock
README.md - Scan bins → Bin inspection: opens bin
- Bin inspection → Bin data access: loads detail
app/(app)/bin/[code]/bin-page-client.tsx - Bin data access → Supabase database: reads bin data
- Bin inspection → Stock movements: offers actions
components/bin/movement-actions.tsx - Stock movements → Supabase database: posts movements
components/bin/movement-actions.tsx - Receiving → Supabase database: records receipt
- Putaway → Supabase database: records putaway
- Allocation planning → Plan coordination: requests plans
app/(app)/allocate/allocate-client.tsx - Plan coordination → Stock adaptation: converts stock
lib/allocator/browser/plan-client.ts - Plan coordination → Allocation pipeline: runs planning
lib/allocator/browser/plan-client.ts - Allocation pipeline → Supabase database: loads stock
- Plan coordination → Supabase database: saves plan
lib/allocator/browser/plan-client.ts - Wave execution → Supabase database: posts wave tasks
README.md - Wave execution → Plan coordination: replans waves
app/(app)/waves/waves-client.tsx - Cycle counts → Supabase database: records counts
- Inventory control → Supabase database: reads inventory
- Stock audits → Supabase database: records audits
- Trace and export → Supabase database: queries movements
- Bin labels → Supabase database: loads label data
- Warehouse API → Supabase database: reads warehouse data
app/api/warehouse/route.ts - Admin and imports → Supabase database: manages warehouse data
- Data quality → Supabase database: checks data