How kali-physi-hacker/rosetta-ims works
Rosetta IMS is an inventory-management system for veterinary and pet-supply operations, delivered through a React SPA and FastAPI API. Staff use authenticated screens to manage products, SKUs, stock, pricing, suppliers and collections; catalogue onboarding adds a staged supplier-file workflow that extracts evidence, validates and resolves products, supports human review, then applies and publishes commercial data. The backend also includes a separate client/pet SSOT ingestion capability. Relationships among catalogue internals are limited to the documented stage and persistence responsibilities; unsampled wiring is not inferred.
Main entry points: catalogue_flows.py Catalogue orchestration · main.py FastAPI app · catalogue_ingestions.py Catalogue API · products.py Inventory routes
Components 21
Web application
- React SPA
apps/web/src/main.tsx - IMS screens
apps/web/src/routes/_authed - API client
apps/web/src/lib/api/client.ts
API and operations
- FastAPI app
apps/api/main.py - Authentication
apps/api/routers/auth.py - Inventory routes
apps/api/routers/products.py - Pricing and SKU
apps/api/services/pricing_service.py
Catalogue onboarding
- Catalogue API
apps/api/routers/catalogue_ingestions.py - Catalogue orchestration
apps/api/orchestration/catalogue_flows.py - Source loading
apps/api/orchestration/catalogue_source_loader.py - Evidence extraction
apps/api/services/catalogue_evidence_extraction.py - Supplier contracts
apps/api/schemas/catalogue_pipeline/supplier_contracts/registry.py - Pipeline stages
apps/api/services/catalogue_pipeline_stages.py - Review and corrections
apps/api/services/catalogue_evidence_corrections.py - Catalogue persistence
apps/api/services/catalogue_pipeline_persistence.py
Data and integrations
- Catalogue state
apps/api/models/catalogue_pipeline.py - IMS database
apps/api/database.py - Client SSOT ingestion
apps/api/clientssot/refresh_all.py
Other components
- Operations staff
- Supplier catalogues
- DaySmart and CHS
Connections 21
- Operations staff → React SPA: uses
- React SPA → IMS screens: renders
- IMS screens → API client: requests
- API client → FastAPI app: calls API
- FastAPI app → Authentication: routes auth
- FastAPI app → Inventory routes: routes operations
- Inventory routes → Pricing and SKU: uses pricing
- FastAPI app → Catalogue API: routes onboarding
- Supplier catalogues → Catalogue API: uploads or captures
- Catalogue API → Catalogue orchestration: dispatches runs
- Catalogue orchestration → Source loading: loads sources
- Catalogue orchestration → Evidence extraction: extracts evidence
- Catalogue orchestration → Supplier contracts: resolves contract
- Catalogue orchestration → Pipeline stages: executes stages
- Catalogue API → Review and corrections: accepts corrections
- Pipeline stages → Catalogue persistence: persists transitions
- Review and corrections → Catalogue persistence: stores resolutions
- Catalogue persistence → Catalogue state: writes state
- Inventory routes → IMS database: reads and writes
- DaySmart and CHS → Client SSOT ingestion: provides exports
- Client SSOT ingestion → IMS database: stores client data