How jayasuriya24/salespulse works
SalesPulse turns official M5 sales, calendar, and price data into a processed retail dataset, evaluates forecasting models, and serves sales analytics and recursive forecasts through a FastAPI dashboard/API. The main runtime path is dataset upload or preparation, feature generation and model training, then API forecast requests using fitted artifacts. The graph also preserves documented baselines, generic uploads, and optional MLflow tracking. Some API implementation is excerpted only partially, so links for unsampled endpoints and integrations are limited to README statements or omitted.
Main entry points: main.py FastAPI service · pipeline.py M5 processing · ml/train.py Model evaluation · scripts/train.py Tracking integration
Components 15
Data ingestion
- Data preparation CLI
scripts/prepare_data.py - M5 processing
ml/pipeline.py
Forecast modeling
- Feature engineering
ml/pipeline.py - Model evaluation
ml/train.py - Dataset and artifacts
ml/train.py
SalesPulse application
- FastAPI service
app/main.py - Browser dashboard
app/main.py - Sales analytics
app/main.py - Protected M5 upload
app/main.py - Recursive forecasts
app/main.py
Experiment tracking
- Tracking integration
scripts/train.py
Other components
- Analyst
- M5 CSV data
- Browser client
- MLflow
Connections 21
- Analyst → Browser dashboard: uses
README.md - Browser client → FastAPI service: requests
README.md - FastAPI service → Browser dashboard: serves
app/main.py - Analyst → M5 CSV data: provides
README.md - M5 CSV data → Data preparation CLI: prepares
README.md - Data preparation CLI → M5 processing: calls
scripts/prepare_data.py - M5 processing → Dataset and artifacts: writes dataset
ml/pipeline.py - Protected M5 upload → M5 processing: processes
README.md - FastAPI service → Protected M5 upload: routes upload
app/main.py - FastAPI service → Model evaluation: trains on upload
app/main.py - M5 processing → Feature engineering: provides data
README.md - Model evaluation → Feature engineering: calls
ml/train.py - Model evaluation → Dataset and artifacts: writes models and report
ml/train.py - FastAPI service → Dataset and artifacts: reads dataset and models
app/main.py - FastAPI service → Sales analytics: serves
app/main.py - Browser dashboard → Sales analytics: displays
README.md - FastAPI service → Recursive forecasts: routes request
app/main.py - Browser dashboard → Recursive forecasts: requests
README.md - Recursive forecasts → Dataset and artifacts: loads model
app/main.py - Tracking integration → Model evaluation: runs training
scripts/train.py - Tracking integration → MLflow: logs experiments
scripts/train.py