How procoder1234556/oil-project works
NUMM is an offline-first material catalog harmonization and transfer platform: CPSE users ingest legacy catalogues, normalize and safely match items, steward-review candidates, mint canonical ONMC codes, then search or transfer surplus and verify the audit trail. The graph follows documented capabilities and sampled ingestion/review calls; several backend endpoint-to-service links are documented at the feature level rather than verified from source excerpts. MeghRaj, SAP, and GeM are simulated seams in the demo.
Main entry points: api.py API v1 router · ingest.py Ingestion endpoints · models.py NUMM database · App.tsx NUMM workspace
Components 23
User experience
- NUMM workspace
frontend/src/App.tsx - Catalog import
frontend/src/components/CatalogIngestionView.tsx - Steward review
frontend/src/components/ClusterReviewCockpit.tsx
API workflows
- FastAPI application
backend/app/main.py - API v1 router
backend/app/api/v1/api.py - Ingestion endpoints
backend/app/api/v1/endpoints/ingest.py - Steward endpoints
backend/app/api/v1/endpoints/steward.py - Search endpoints
backend/app/api/v1/endpoints/search.py - Surplus endpoints
backend/app/api/v1/endpoints/surplus.py - Demand pool endpoints
backend/app/api/v1/endpoints/demand_pool.py - Audit endpoints
backend/app/api/v1/endpoints/audit.py - Authentication endpoints
backend/app/api/v1/endpoints/auth.py
Catalog harmonization
- Domain normalization
backend/app/services/domain_normalizer.py - Attribute extraction
backend/app/services/attribute_extractor.py - Safety gate
backend/app/services/safety_gate.py - Hybrid matching
backend/app/services/hybrid_matcher.py - Embedding generation
backend/app/services/embedding_generator.py
Governance and reuse
- Demand pooling
backend/app/services/demand_pooling_service.py - Audit chain
backend/app/services/cvc_audit_service.py - Persona and SSO
backend/app/services/meghraj_auth_service.py - NUMM database
backend/app/models/models.py
Other components
- CPSE users
- Simulated ERP / identity
Connections 30
- CPSE users → NUMM workspace: use workspace
- NUMM workspace → Catalog import: open import
- NUMM workspace → Steward review: open review
- Catalog import → Ingestion endpoints: POST catalog
- Steward review → Steward endpoints: fetch and decide
- NUMM workspace → FastAPI application: request API
- FastAPI application → API v1 router: mount routes
- API v1 router → Ingestion endpoints: dispatch
- API v1 router → Steward endpoints: dispatch
- API v1 router → Search endpoints: dispatch
- API v1 router → Surplus endpoints: dispatch
- API v1 router → Demand pool endpoints: dispatch
- API v1 router → Audit endpoints: dispatch
- API v1 router → Authentication endpoints: dispatch
- Ingestion endpoints → Domain normalization: normalize text
- Ingestion endpoints → Attribute extraction: extract attributes
- Ingestion endpoints → Embedding generation: generate vectors
- Ingestion endpoints → Hybrid matching: find candidates
- Ingestion endpoints → Safety gate: screen matches
- Ingestion endpoints → NUMM database: persist catalog
- Steward endpoints → NUMM database: read and update
- Search endpoints → NUMM database: search materials
- Surplus endpoints → NUMM database: read transfer stock
- Demand pool endpoints → Demand pooling: pool demand
- Demand pool endpoints → NUMM database: read and write
- Audit endpoints → Audit chain: verify chain
- Audit chain → NUMM database: read and append
- Authentication endpoints → Persona and SSO: authenticate
- Persona and SSO → Simulated ERP / identity: simulate SSO
- Surplus endpoints → Simulated ERP / identity: simulated ERP seam