Inventory Domain
This domain covers the Inventory Management experience
implemented under frontend/src/pages/inventory.
1️⃣ Domain Purpose
The Inventory domain provides a single place to: - search and browse inventory items (supplier-scoped) - filter and sort list results - perform item actions via dialogs (create/edit/delete/adjust quantity/change price)
2️⃣ Scope & Boundaries
Included: - Page orchestration in
InventoryBoard.tsx - Domain-local UI state and
handlers (folder structure: hooks/,
handlers/) - Domain components and dialogs
(components/, dialogs/) - Domain
validation helpers (validation/)
Excluded: - API-level mechanics (React Query caching, axios client, normalization) — see Data Access - Global auth/role gating rules — see State and Routing - App layout chrome (header/sidebar) — see App Shell
3️⃣ High-Level Diagram
4️⃣ Domain Map (Deep-dives)
Leaf docs for how Inventory works:
- Page orchestration (InventoryBoard)
- State & handlers (reset invariants)
- Data fetching & filtering
- Dialogs & mutations
- Validation & authorization
Related ADRs
- ADR-0003: Page model and domain separation
- ADR-0004: Dialog/workflow architecture
- ADR-0002: API layer abstraction (httpClient + domain modules)