How amrofekry/radiology-inventory-system works
This is a React radiology-equipment inventory dashboard. Users browse inventory, inspect asset details and QR codes, add equipment, and search in natural language; the app applies parsed filters to the equipment list and presents operational and financial summaries. The sampled data hook initializes from static constants and updates React state, rather than demonstrating persistent database storage. Maintenance and lifecycle information appear as equipment fields and detail views, not as separate sampled workflow services. The graph follows the excerpts and README; unsampled capabilities are not treated as implemented modules.
Main entry points: App.tsx App Coordinator · Icon.tsx Icon Renderer · Header.tsx Search Header · AddEquipmentModal.tsx Equipment Registration
Components 14
User Interface
- App Coordinator
App.tsx - Search Header
components/Header.tsx - Status Toast
components/Toast.tsx - Icon Renderer
components/Icon.tsx
Inventory Workflow
- Equipment Registration
components/AddEquipmentModal.tsx - Equipment Table
components/EquipmentTable.tsx - Asset Details and QR
components/EquipmentDetailModal.tsx
Search and Analytics
- Operational Dashboard
components/Dashboard.tsx - Query Interpretation
services/geminiService.ts
Equipment Data
- Equipment State
hooks/useDatabase.ts - Inventory Catalog
constants.ts - Domain Types
types.ts
Other components
- Staff User
- Google Gemini
Connections 21
- Staff User → Search Header: enters query
components/Header.tsx - Search Header → App Coordinator: submits query
App.tsx - App Coordinator → Query Interpretation: parses query
App.tsx - Query Interpretation → Google Gemini: requests filters
services/geminiService.ts - App Coordinator → Equipment State: reads equipment
App.tsx - Equipment State → Inventory Catalog: loads sample data
hooks/useDatabase.ts - App Coordinator → Operational Dashboard: renders dashboard
App.tsx - App Coordinator → Equipment Table: renders table
App.tsx - App Coordinator → Asset Details and QR: opens details
App.tsx - App Coordinator → Equipment Registration: opens registration
App.tsx - App Coordinator → Status Toast: renders feedback
App.tsx - Equipment Registration → App Coordinator: submits equipment
components/AddEquipmentModal.tsx - App Coordinator → Icon Renderer: renders icons
- Operational Dashboard → Icon Renderer: renders icons
components/Dashboard.tsx - Equipment Table → Icon Renderer: renders icons
components/EquipmentTable.tsx - Asset Details and QR → Icon Renderer: renders icons
components/EquipmentDetailModal.tsx - Equipment Registration → Icon Renderer: renders icons
components/AddEquipmentModal.tsx - Search Header → Icon Renderer: renders icons
components/Header.tsx - Status Toast → Icon Renderer: renders icons
components/Toast.tsx - Equipment State → Domain Types: uses domain types
hooks/useDatabase.ts - Inventory Catalog → Domain Types: defines records
constants.ts