How prajakta8083/driftguard-transaction-ml-monitoring works
DriftGuard is a fraud-scoring API and analyst dashboard. Analysts submit transactions for scoring, inspect stored history and explanations, review flagged cases, and submit confirmed outcomes; those labels feed performance monitoring, while recent features feed drift checks and inform manual retraining decisions. The graph includes the API orchestration, persisted state, model/feature layers, and documented dashboard capabilities. Edges reflect shown imports/calls or README statements; links for unsampled frontend pages and some backend internals are limited to explicit documentation or indexed references.
Main entry points: api.js API client · App.jsx Dashboard routes · main.py API application · transactions.py Transaction scoring
Components 26
Analyst dashboard
- Dashboard routes
frontend/src/App.jsx - Live scoring
frontend/src/pages/LiveScoring.jsx - Prediction history
frontend/src/pages/PredictionHistory.jsx - Review queue
frontend/src/pages/ReviewQueue.jsx - Model health
frontend/src/pages/ModelHealth.jsx - Drift dashboard
frontend/src/pages/DriftDashboard.jsx - Explainability
frontend/src/pages/Explainability.jsx - Model report
frontend/src/pages/ModelReport.jsx - API client
frontend/src/api.js
Scoring API
- API application
backend/app/main.py - Transaction scoring
backend/app/routers/transactions.py - Prediction history
backend/app/routers/predictions.py - Feedback intake
backend/app/routers/feedback.py - API schemas
backend/app/schemas.py
Monitoring and review
- Monitoring endpoints
backend/app/routers/monitoring.py - Monitoring scheduler
backend/app/scheduler.py
Model lifecycle
- Model endpoints
backend/app/routers/model.py - Feature contract
backend/app/ml/feature_contract.py - Model bundle
backend/app/ml/model_loader.py - PSI drift analysis
backend/app/ml/drift.py - Retraining pipeline
backend/app/ml/retrain.py
Persistent state
- Domain records
backend/app/models.py - Application database
backend/app/database.py
Other components
- Analyst
- Training data
- Fraud model
Connections 47
- Analyst → Dashboard routes: uses dashboard
frontend/src/App.jsx - Dashboard routes → Live scoring: routes to
frontend/src/App.jsx - Dashboard routes → Prediction history: routes to
frontend/src/App.jsx - Dashboard routes → Review queue: routes to
frontend/src/App.jsx - Dashboard routes → Model health: routes to
frontend/src/App.jsx - Dashboard routes → Drift dashboard: routes to
frontend/src/App.jsx - Dashboard routes → Explainability: routes to
frontend/src/App.jsx - Dashboard routes → Model report: routes to
frontend/src/App.jsx - Live scoring → API client: requests
frontend/src/pages/LiveScoring.jsx - Prediction history → API client: requests
frontend/src/pages/PredictionHistory.jsx - Review queue → API client: requests
frontend/src/pages/ReviewQueue.jsx - Model health → API client: requests
frontend/src/pages/ModelHealth.jsx - Drift dashboard → API client: requests
frontend/src/pages/DriftDashboard.jsx - Explainability → API client: requests
frontend/src/pages/Explainability.jsx - Model report → API client: requests
frontend/src/pages/ModelReport.jsx - API client → Transaction scoring: submits score
frontend/src/api.js - API client → Prediction history: fetches history
frontend/src/api.js - API client → Feedback intake: posts feedback
frontend/src/api.js - API client → Monitoring endpoints: fetches monitoring
frontend/src/api.js - API client → Model endpoints: fetches model data
frontend/src/api.js - API application → Transaction scoring: mounts router
backend/app/main.py - API application → Prediction history: mounts router
backend/app/main.py - API application → Feedback intake: mounts router
backend/app/main.py - API application → Monitoring endpoints: mounts router
backend/app/main.py - API application → Model endpoints: mounts router
backend/app/main.py - API application → Model bundle: loads bundle
backend/app/main.py - API application → Monitoring scheduler: starts scheduler
backend/app/main.py - Transaction scoring → API schemas: validates inputs
backend/app/routers/transactions.py - Transaction scoring → Feature contract: builds features
backend/app/routers/transactions.py - Transaction scoring → Model bundle: scores with
backend/app/routers/transactions.py - Transaction scoring → Application database: persists results
backend/app/routers/transactions.py - Prediction history → Application database: reads records
backend/app/routers/predictions.py - Feedback intake → Application database: stores labels
backend/app/routers/feedback.py - Monitoring endpoints → Application database: reads and writes
backend/app/routers/monitoring.py - Monitoring endpoints → PSI drift analysis: computes drift
backend/app/routers/monitoring.py - Monitoring endpoints → Feature contract: uses feature order
backend/app/routers/monitoring.py - Model endpoints → Application database: reads and updates
backend/app/routers/model.py - Model endpoints → Monitoring endpoints: checks signals
backend/app/routers/model.py - Model endpoints → Retraining pipeline: triggers training
backend/app/routers/model.py - Model endpoints → Model bundle: serves model data
backend/app/routers/model.py - Monitoring scheduler → Application database: stores snapshots
backend/app/scheduler.py - Monitoring scheduler → PSI drift analysis: checks drift
backend/app/scheduler.py - Monitoring scheduler → Feature contract: uses feature order
backend/app/scheduler.py - Application database → Domain records: maps records
backend/app/models.py - Retraining pipeline → Training data: trains from
backend/app/ml/retrain.py - Retraining pipeline → Fraud model: produces version
backend/app/ml/retrain.py - Transaction scoring → Fraud model: returns score
backend/app/routers/transactions.py