# yaswanthtechie/eaicsp-platform architecture

> Architecture diagram of the GitHub repository yaswanthtechie/eaicsp-platform, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/yaswanthtechie/eaicsp-platform
- Repository: https://github.com/yaswanthtechie/eaicsp-platform

## Overview

EAICSP is an enterprise supply-chain platform spanning operational services, supplier-facing and internal interfaces, data pipelines, and ML capabilities. A central data workflow is source extraction, validation and transformation, then loading and reconciliation; the ETL pipeline excerpt directly supports those stages. The tree and README establish the larger product domains, but do not document their runtime wiring. Accordingly, unsampled integrations are shown as capability branches rather than connected by assumed calls.

Main entry points: [`data-platform/etl/etl/src/pipeline.py`](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/etl/etl/src/pipeline.py) (ETL orchestration), [`services/supplier-portal/app/routes/supplier_stats_routes.py`](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/services/supplier-portal/app/routes/supplier_stats_routes.py) (Supplier statistics), [`data-platform/etl/etl/src/extract.py`](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/etl/etl/src/extract.py) (Source extraction), [`data-platform/etl/etl/src/quality_gate.py`](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/etl/etl/src/quality_gate.py) (Contracts and quality)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data["Data Platform"]
  node_etl_pipeline["ETL orchestration<br/>[pipeline.py]"]
  node_etl_extract["Source extraction<br/>[extract.py]"]
  node_etl_validate["Contracts and quality<br/>[quality_gate.py]"]
  node_etl_transform["Data transformation<br/>[transform.py]"]
  node_etl_load["Warehouse loading<br/>[load.py]"]
  node_etl_reconcile["Load reconciliation<br/>[reconciliation.py]"]
  node_etl_monitor["Run monitoring<br/>[sla_monitor.py]"]
  node_profiling["Data profiling<br/>[profile.py]"]
  node_validation["Data validation<br/>[validator.py]"]
end

subgraph group_ml["ML Services"]
  node_model_platform["Model serving and experiments<br/>[model_manager.py]"]
  node_anomaly_api["Anomaly detection API<br/>[app.py]"]
  node_adaptive_engine["Adaptive detection state"]
  node_eta_train["ETA model training<br/>[main.py]"]
  node_eta_pipeline["ETA feature model<br/>[pipeline.py]"]
  node_forecast["Demand forecasting<br/>[main.py]"]
  node_supplier_risk["Supplier risk models<br/>[predict.py]"]
end

subgraph group_services["Backend Services"]
  node_gateway["API gateway<br/>[main.py]"]
  node_inventory["Inventory and orders<br/>[inventory.py]"]
  node_compliance["Compliance screening<br/>[compliance.py]"]
  node_platform_auth["Platform identity<br/>[auth_service.py]"]
  node_supplier_stats["Supplier statistics"]
end

subgraph group_frontend["User Interfaces"]
  node_dashboard["Operations dashboard<br/>[App.tsx]"]
  node_dashboard_api["Dashboard data client<br/>[dashboard.ts]"]
  node_supplier_portal["Supplier portal<br/>[App.tsx]"]
  node_supplier_graphql["Supplier GraphQL client<br/>[apollo.ts]"]
  node_ui_library["Reusable UI library<br/>[index.ts]"]
end

node_operator(("Platform user"))
node_supplier_user(("Supplier user"))

node_etl_pipeline -->|"extracts batches"| node_etl_extract
node_etl_pipeline -->|"validates batches"| node_etl_validate
node_etl_pipeline -->|"transforms data"| node_etl_transform
node_etl_pipeline -->|"loads records"| node_etl_load
node_etl_pipeline -->|"reconciles loads"| node_etl_reconcile
node_etl_pipeline -->|"records run status"| node_etl_monitor
node_operator -->|"views operations"| node_dashboard
node_supplier_user -->|"uses portal"| node_supplier_portal
node_supplier_stats -->|"returns scorecard"| node_operator

click node_etl_pipeline "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/etl/etl/src/pipeline.py"
click node_etl_extract "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/etl/etl/src/extract.py"
click node_etl_validate "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/etl/etl/src/quality_gate.py"
click node_etl_transform "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/etl/etl/src/transform.py"
click node_etl_load "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/etl/etl/src/load.py"
click node_etl_reconcile "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/etl/etl/src/reconciliation.py"
click node_etl_monitor "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/etl/etl/src/sla_monitor.py"
click node_profiling "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/profiling/src/profile.py"
click node_validation "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/validation/src/validator.py"
click node_model_platform "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/ml-services/_reference/src/model_manager.py"
click node_anomaly_api "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/ml-services/anomaly-detection/app.py"
click node_adaptive_engine "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/ml-services/anomaly-detection/src/adaptive_engine_manager.py"
click node_eta_train "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/ml-services/eta-prediction/main.py"
click node_eta_pipeline "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/ml-services/eta-prediction/src/pipeline.py"
click node_forecast "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/ml-services/demand-forecast/prophet/src/main.py"
click node_supplier_risk "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/ml-services/supplier-risk/src/predict.py"
click node_gateway "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/services/api-gateway/app/main.py"
click node_inventory "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/services/inventory/app/routes/inventory.py"
click node_compliance "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/services/compliance/app/routes/compliance.py"
click node_platform_auth "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/services/platform/app/services/auth_service.py"
click node_supplier_stats "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/services/supplier-portal/app/routes/supplier_stats_routes.py"
click node_dashboard "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/frontend/packages/dashboard/src/App.tsx"
click node_dashboard_api "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/frontend/packages/dashboard/src/api/dashboard.ts"
click node_supplier_portal "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/frontend/packages/supplier-portal/src/App.tsx"
click node_supplier_graphql "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/frontend/packages/supplier-portal/src/graphql/apollo.ts"
click node_ui_library "https://github.com/yaswanthtechie/eaicsp-platform/blob/main/frontend/packages/ui/src/index.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_etl_pipeline,node_etl_extract,node_etl_validate,node_etl_transform,node_etl_load,node_etl_reconcile,node_etl_monitor,node_profiling,node_validation,node_operator,node_supplier_user toneBlue
class node_model_platform,node_anomaly_api,node_adaptive_engine,node_eta_train,node_eta_pipeline,node_forecast,node_supplier_risk toneAmber
class node_gateway,node_inventory,node_compliance,node_platform_auth,node_supplier_stats toneMint
class node_dashboard,node_dashboard_api,node_supplier_portal,node_supplier_graphql,node_ui_library toneRose
```

## Components

### Data Platform

- [ETL orchestration](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/etl/etl/src/pipeline.py): `data-platform/etl/etl/src/pipeline.py`
- [Source extraction](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/etl/etl/src/extract.py): `data-platform/etl/etl/src/extract.py`
- [Contracts and quality](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/etl/etl/src/quality_gate.py): `data-platform/etl/etl/src/quality_gate.py`
- [Data transformation](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/etl/etl/src/transform.py): `data-platform/etl/etl/src/transform.py`
- [Warehouse loading](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/etl/etl/src/load.py): `data-platform/etl/etl/src/load.py`
- [Load reconciliation](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/etl/etl/src/reconciliation.py): `data-platform/etl/etl/src/reconciliation.py`
- [Run monitoring](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/etl/etl/src/sla_monitor.py): `data-platform/etl/etl/src/sla_monitor.py`
- [Data profiling](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/profiling/src/profile.py): `data-platform/profiling/src/profile.py`
- [Data validation](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/data-platform/validation/src/validator.py): `data-platform/validation/src/validator.py`

### ML Services

- [Model serving and experiments](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/ml-services/_reference/src/model_manager.py): `ml-services/_reference/src/model_manager.py`
- [Anomaly detection API](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/ml-services/anomaly-detection/app.py): `ml-services/anomaly-detection/app.py`
- [Adaptive detection state](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/ml-services/anomaly-detection/src/adaptive_engine_manager.py): `ml-services/anomaly-detection/src/adaptive_engine_manager.py`
- [ETA model training](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/ml-services/eta-prediction/main.py): `ml-services/eta-prediction/main.py`
- [ETA feature model](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/ml-services/eta-prediction/src/pipeline.py): `ml-services/eta-prediction/src/pipeline.py`
- [Demand forecasting](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/ml-services/demand-forecast/prophet/src/main.py): `ml-services/demand-forecast/prophet/src/main.py`
- [Supplier risk models](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/ml-services/supplier-risk/src/predict.py): `ml-services/supplier-risk/src/predict.py`

### Backend Services

- [API gateway](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/services/api-gateway/app/main.py): `services/api-gateway/app/main.py`
- [Inventory and orders](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/services/inventory/app/routes/inventory.py): `services/inventory/app/routes/inventory.py`
- [Compliance screening](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/services/compliance/app/routes/compliance.py): `services/compliance/app/routes/compliance.py`
- [Platform identity](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/services/platform/app/services/auth_service.py): `services/platform/app/services/auth_service.py`
- [Supplier statistics](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/services/supplier-portal/app/routes/supplier_stats_routes.py): `services/supplier-portal/app/routes/supplier_stats_routes.py`

### User Interfaces

- [Operations dashboard](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/frontend/packages/dashboard/src/App.tsx): `frontend/packages/dashboard/src/App.tsx`
- [Dashboard data client](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/frontend/packages/dashboard/src/api/dashboard.ts): `frontend/packages/dashboard/src/api/dashboard.ts`
- [Supplier portal](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/frontend/packages/supplier-portal/src/App.tsx): `frontend/packages/supplier-portal/src/App.tsx`
- [Supplier GraphQL client](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/frontend/packages/supplier-portal/src/graphql/apollo.ts): `frontend/packages/supplier-portal/src/graphql/apollo.ts`
- [Reusable UI library](https://github.com/yaswanthtechie/eaicsp-platform/blob/main/frontend/packages/ui/src/index.ts): `frontend/packages/ui/src/index.ts`

### Other components

- **Platform user**
- **Supplier user**

## Connections

- ETL orchestration → Source extraction: extracts batches
- ETL orchestration → Contracts and quality: validates batches
- ETL orchestration → Data transformation: transforms data
- ETL orchestration → Warehouse loading: loads records
- ETL orchestration → Load reconciliation: reconciles loads
- ETL orchestration → Run monitoring: records run status
- Platform user → Operations dashboard: views operations
- Supplier user → Supplier portal: uses portal
- Supplier statistics → Platform user: returns scorecard
