AI-powered demand forecasting platform for Coca-Cola Bottlers Africa beverage supply chain. Predicts product demand using historical sales + weather + holidays + events, trains ML models (Linear Regression, Random Forest, XGBoost), and surfaces forecasts via a React dashboard.
# CCBA Demand Forecast — AI-Powered Demand Forecasting System
AI-powered demand forecasting platform for Coca-Cola Bottlers Africa beverage supply chain. Predicts product demand using historical sales + weather + holidays + events, trains ML models (Linear Regression, Random Forest, XGBoost), and surfaces forecasts via a React dashboard.
## Stack
- Backend: Django 5 + Django REST Framework, single core app
- ML: scikit-learn, pandas, numpy, xgboost (Celery task or management command driven training)
- DB: PostgreSQL
- Frontend: React + Vite, Bootstrap Icons, custom CSS design system (`main_ccba.css`)
- Auth: JWT (SimpleJWT), role-based (Admin, Analyst, Manager)
## Project Structure
```
ccba_forecast/
├── backend/
│ ├── manage.py
│ ├── requirements.txt
│ ├── .env.example
│ ├── ccba_forecast/ # project (main urls/settings)
│ │ ├── __init__.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ ├── asgi.py
│ │ └── wsgi.py
│ └── core/ # the one core app
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── models.py
│ ├── serializers.py
│ ├── views.py
│ ├── urls.py
│ ├── permissions.py
│ ├── ml/
│ │ ├── __init__.py
│ │ ├── train.py # model training (RF + XGBoost)
│ │ ├── predict.py # generate forecasts
│ │ └── features.py # feature engineering (weather/holiday/seasonality)
│ ├── management/
│ │ └── commands/
│ │ ├── seed_data.py
│ │ └── run_forecast.py
│ └── migrations/
│
└── frontend/
├── index.html # includes Bootstrap Icons CDN link
├── package.json
├── vite.config.js
├── src/
│ ├── main.jsx
│ ├── App.jsx
│ ├── context/
│ │ └── AuthContext.jsx
│ ├── services/
│ │ └── api.js # all endpoint calls (axios instance)
│ ├── components/
│ │ ├── Sidebar.jsx
│ │ ├── Navbar.jsx
│ │ ├─ …