How rahul-roy-hub/smart-waste-management works
Smart Waste Management Analytics turns municipal waste, population, and weather data into a feature-enriched training dataset, fits and evaluates an XGBoost forecasting pipeline, and presents operational summaries in a Streamlit dashboard. The main workflow is CLI-driven ingestion, preprocessing, and training; the dashboard separately reads the processed dataset and any saved model. The README also documents KPI, trend, weather, zone-table, and geospatial views. The graph reflects the shown calls and file reads; unsampled implementation details are not inferred.
Main entry points: build_raw_from_preview.py Raw data builder · preprocess.py Feature preprocessing · train.py Model training · app.py Streamlit dashboard
Components 17
Data preparation
- Project CLI
src/cli.py - Waste preview
data/raw/waste_records_csv_preview.csv - Population preview
data/raw/population_csv_preview.csv - Raw data builder
src/data_pipeline/build_raw_from_preview.py - Waste records
data/raw/waste_records.csv - Population records
data/raw/population.csv - Weather records
data/raw/weather.csv - Feature preprocessing
src/data_pipeline/preprocess.py
Model training
- Training dataset
data/processed/training_data.csv - Model training
src/ml/train.py - Forecast model
- Training metrics
Analytics dashboard
- Streamlit dashboard
src/visualization/app.py - Operational views
src/visualization/app.py
Shared utilities
- Path configuration
src/utils/paths.py - Logging helper
src/utils/logging.py
Other components
- Operator
Connections 26
- Operator → Project CLI: runs commands
README.md - Operator → Streamlit dashboard: opens dashboard
README.md - Project CLI → Raw data builder: dispatches build
src/cli.py - Project CLI → Feature preprocessing: dispatches preprocess
src/cli.py - Project CLI → Model training: dispatches training
src/cli.py - Raw data builder → Waste preview: reads preview
src/data_pipeline/build_raw_from_preview.py - Raw data builder → Population preview: reads preview
src/data_pipeline/build_raw_from_preview.py - Raw data builder → Waste records: writes records
src/data_pipeline/build_raw_from_preview.py - Raw data builder → Population records: writes records
src/data_pipeline/build_raw_from_preview.py - Feature preprocessing → Waste records: reads records
src/data_pipeline/preprocess.py - Feature preprocessing → Population records: reads records
src/data_pipeline/preprocess.py - Feature preprocessing → Weather records: reads records
src/data_pipeline/preprocess.py - Feature preprocessing → Training dataset: writes features
src/data_pipeline/preprocess.py - Model training → Training dataset: loads dataset
src/ml/train.py - Model training → Forecast model: saves pipeline
src/ml/train.py - Model training → Training metrics: writes metrics
src/ml/train.py - Streamlit dashboard → Training dataset: loads dataset
src/visualization/app.py - Streamlit dashboard → Forecast model: loads model
src/visualization/app.py - Streamlit dashboard → Operational views: renders views
src/visualization/app.py - Raw data builder → Path configuration: uses paths
src/data_pipeline/build_raw_from_preview.py - Feature preprocessing → Path configuration: uses paths
src/data_pipeline/preprocess.py - Model training → Path configuration: uses paths
src/ml/train.py - Streamlit dashboard → Path configuration: uses paths
src/visualization/app.py - Raw data builder → Logging helper: gets logger
src/data_pipeline/build_raw_from_preview.py - Feature preprocessing → Logging helper: gets logger
src/data_pipeline/preprocess.py - Model training → Logging helper: gets logger
src/ml/train.py