How nick-8149/bom-project-for-extropic works
BOM Manager is an engineering platform for verifying component lists and monitoring lifecycle, risk, compliance, suppliers, and replacements. Engineers upload a BOM, review matched parts and risks, then explore replacement suggestions and record review decisions. The graph includes the documented dashboard, reporting, alerts, and catalog capabilities. Backend endpoint-to-service wiring is mostly unsampled, so those relationships are omitted or marked unverified rather than inferred.
Main entry points: App.tsx Application routes · client.ts API client · models.py Catalog and domain records · replacement_service.py AI replacement analysis
Components 32
Web application
- Application routes
bom-manager/frontend/src/App.tsx - BOM upload
bom-manager/frontend/src/pages/BOMUploadPage.tsx - BOM results
bom-manager/frontend/src/pages/BOMResultsPage.tsx - Portfolio dashboard
bom-manager/frontend/src/pages/DashboardPage.tsx - Alerts
bom-manager/frontend/src/pages/AlertsPage.tsx - Reports
bom-manager/frontend/src/pages/ReportsPage.tsx - Lifecycle view
bom-manager/frontend/src/pages/LifecyclePage.tsx - Compliance view
bom-manager/frontend/src/pages/CompliancePage.tsx - Part search
bom-manager/frontend/src/pages/PartSearchPage.tsx - Part detail
bom-manager/frontend/src/pages/PartDetailPage.tsx - AI replacements
bom-manager/frontend/src/pages/AIReplacementsPage.tsx - Engineer review
bom-manager/frontend/src/components/AIReviewModal.tsx - API client
bom-manager/frontend/src/api/client.ts - Parts and catalog
bom-manager/frontend/src/pages/PartSearchPage.tsx - Supplier directory
bom-manager/frontend/src/pages/SuppliersPage.tsx - Manufacturer directory
bom-manager/frontend/src/pages/ManufacturersPage.tsx
API and access
- FastAPI application
bom-manager/backend/app/main.py - API router
bom-manager/backend/app/api/v1/api.py - Authentication
bom-manager/backend/app/api/v1/endpoints/auth.py
BOM verification
- BOM endpoints
bom-manager/backend/app/api/v1/endpoints/bom.py - BOM parser
bom-manager/backend/app/services/bom_parser.py - BOM processing
bom-manager/backend/app/services/bom_processor.py - BOM normalization
bom-manager/backend/app/services/bom_normalizer.py - Part matching
bom-manager/backend/app/services/matcher.py
Engineering analysis
- Risk assessment
bom-manager/backend/app/services/risk_engine.py - Candidate matching
bom-manager/backend/app/services/replacement_engine.py - AI replacement analysis
bom-manager/backend/app/services/ai/replacement_service.py - AI provider
bom-manager/backend/app/services/ai/providers.py - Analysis prompts
bom-manager/backend/app/services/ai/prompts.py
Catalog and persistence
- Catalog and domain records
bom-manager/backend/app/models/models.py - Database sessions
bom-manager/backend/app/database.py
Other components
- Engineer
Connections 35
- Engineer → Application routes: uses
bom-manager/frontend/src/App.tsx - Application routes → BOM upload: routes to
bom-manager/frontend/src/App.tsx - Application routes → BOM results: routes to
bom-manager/frontend/src/App.tsx - Application routes → Portfolio dashboard: routes to
bom-manager/frontend/src/App.tsx - Application routes → Alerts: routes to
bom-manager/frontend/src/App.tsx - Application routes → Reports: routes to
bom-manager/frontend/src/App.tsx - Application routes → Lifecycle view: routes to
bom-manager/frontend/src/App.tsx - Application routes → Compliance view: routes to
bom-manager/frontend/src/App.tsx - Application routes → Part search: routes to
bom-manager/frontend/src/App.tsx - Application routes → Part detail: routes to
bom-manager/frontend/src/App.tsx - Application routes → AI replacements: routes to
bom-manager/frontend/src/App.tsx - Application routes → Parts and catalog: routes to
bom-manager/frontend/src/App.tsx - Application routes → Supplier directory: routes to
bom-manager/frontend/src/App.tsx - Application routes → Manufacturer directory: routes to
bom-manager/frontend/src/App.tsx - BOM upload → API client: submits request
bom-manager/frontend/src/pages/BOMUploadPage.tsx - BOM results → API client: fetches results
bom-manager/frontend/src/pages/BOMResultsPage.tsx - Portfolio dashboard → API client: fetches metrics
bom-manager/frontend/src/pages/DashboardPage.tsx - Alerts → API client: fetches alerts
bom-manager/frontend/src/pages/AlertsPage.tsx - API client → FastAPI application: HTTP requests
bom-manager/frontend/src/api/client.ts - FastAPI application → API router: mounts routes
bom-manager/backend/app/main.py - API router → Authentication: registers route
bom-manager/backend/app/api/v1/api.py - API router → BOM endpoints: registers route
bom-manager/backend/app/api/v1/api.py - BOM endpoints → BOM parser: may invoke
- BOM parser → BOM processing: may feed
- BOM processing → BOM normalization: may use
- BOM processing → Part matching: may use
- Part matching → Catalog and domain records: queries
- Risk assessment → Catalog and domain records: reads records
bom-manager/backend/app/services/risk_engine.py - Candidate matching → Catalog and domain records: queries candidates
bom-manager/backend/app/services/replacement_engine.py - AI replacement analysis → Candidate matching: gets candidates
bom-manager/backend/app/services/ai/replacement_service.py - AI replacement analysis → AI provider: requests analysis
bom-manager/backend/app/services/ai/replacement_service.py - AI replacement analysis → Analysis prompts: builds prompt
bom-manager/backend/app/services/ai/replacement_service.py - AI replacement analysis → Catalog and domain records: persists analysis
bom-manager/backend/app/services/ai/replacement_service.py - Engineer review → API client: submits decision
bom-manager/frontend/src/components/AIReviewModal.tsx - Database sessions → Catalog and domain records: provides ORM base
bom-manager/backend/app/models/models.py