How pallab-js/wms works
WarehouseOS is a native macOS warehouse-management app. Users manage sites, inventory, employees, and transfers through SwiftUI screens; view models invoke services for business rules, which use repository protocols backed by atomic JSON files. The README documents the broad MVVM/service/repository flow; sampled source confirms transfer-state mutations and atomic inventory persistence, and reports aggregation. Several feature and service links are based on the documented architecture and capability descriptions rather than sampled implementations.
Main entry points: AppRouter.swift App navigation · Protocols Repository protocols · ReportsService.swift Reports aggregation · TransferService.swift Transfer workflow
Components 28
User interface
- Inventory screens
Packages/WMSFeatures/Sources/Inventory - Warehouse screens
Packages/WMSFeatures/Sources/Warehouses - Employee screens
Packages/WMSFeatures/Sources/Employees - Transfer screens
Packages/WMSFeatures/Sources/Transfers - Dashboard screens
Packages/WMSFeatures/Sources/Reports/DashboardView.swift - Reports screens
Packages/WMSFeatures/Sources/Reports/ReportsView.swift - Audit log screens
Packages/WMSFeatures/Sources/AuditLog - Global search
Packages/WMSFeatures/Sources/Search - Settings screens
Packages/WMSFeatures/Sources/Settings
Warehouse operations
- Inventory services
Packages/WMSServices/Sources/WMSServices/InventoryService.swift - Stock movements
Packages/WMSServices/Sources/WMSServices/StockMovementService.swift - Transfer workflow
Packages/WMSServices/Sources/WMSServices/TransferService.swift - Warehouse services
Packages/WMSServices/Sources/WMSServices/WarehouseService.swift - Employee services
Packages/WMSServices/Sources/WMSServices/EmployeeService.swift - Reports aggregation
Packages/WMSServices/Sources/WMSServices/ReportsService.swift - Dashboard metrics
Packages/WMSServices/Sources/WMSServices/DashboardService.swift - Audit logging
Packages/WMSServices/Sources/WMSServices/AuditLogService.swift - Low-stock alerts
Packages/WMSServices/Sources/WMSServices/InventoryAlertService.swift - Role permissions
Packages/WMSServices/Sources/WMSServices/AccessController.swift
Domain contracts
- Repository protocols
Packages/WMSCore/Sources/WMSCore/Protocols - Domain models
Packages/WMSCore/Sources/WMSCore/Models
Local persistence
- Atomic JSON store
Packages/WMSData/Sources/WMSData/DataStore.swift - File repositories
Packages/WMSData/Sources/WMSData - Keychain protection
Packages/WMSData/Sources/WMSData/KeychainDataProtector.swift
App services
- App navigation
Sources/WarehouseOSApp/AppRouter.swift - macOS notifications
Sources/WarehouseOSApp/NotificationManager.swift
Other components
- Warehouse user
- Notification Center
Connections 41
- Warehouse user → App navigation: navigates
- App navigation → Inventory screens: opens
- App navigation → Warehouse screens: opens
- App navigation → Employee screens: opens
- App navigation → Transfer screens: opens
- App navigation → Dashboard screens: opens
- App navigation → Reports screens: opens
- App navigation → Audit log screens: opens
- App navigation → Global search: opens
- App navigation → Settings screens: opens
- Inventory screens → Inventory services: requests operations
- Inventory screens → Stock movements: records movements
- Warehouse screens → Warehouse services: requests operations
- Employee screens → Employee services: requests operations
- Transfer screens → Transfer workflow: changes transfer
- Dashboard screens → Dashboard metrics: requests metrics
- Reports screens → Reports aggregation: requests reports
- Audit log screens → Audit logging: requests entries
- Global search → Warehouse services: searches records
- Global search → Inventory services: searches records
- Global search → Employee services: searches records
- Inventory services → Repository protocols: uses contracts
- Stock movements → Repository protocols: uses contracts
- Transfer workflow → Repository protocols: updates transfers
- Transfer workflow → Role permissions: checks permissions
- Transfer workflow → Audit logging: records transitions
- Warehouse services → Repository protocols: uses contracts
- Employee services → Repository protocols: uses contracts
- Dashboard metrics → Repository protocols: loads metrics
- Reports aggregation → Warehouse services: loads warehouses
- Reports aggregation → Inventory services: loads inventory
- Reports aggregation → Stock movements: loads movements
- Reports aggregation → Transfer workflow: loads transfers
- Audit logging → Repository protocols: uses contracts
- Low-stock alerts → macOS notifications: posts alerts
- Low-stock alerts → Repository protocols: checks stock
- Repository protocols → Domain models: exchanges models
- File repositories → Repository protocols: implements
- File repositories → Atomic JSON store: reads and writes
- Atomic JSON store → Keychain protection: protects data
- macOS notifications → Notification Center: submits alerts