Skip to content

An interactive dashboard for PlanCatalyst’s redesigned website forecasting country-level development.

Notifications You must be signed in to change notification settings

LlamzonAmazon/PC-Data-Dash

Repository files navigation

PlanCatalyst Data Dashboard

We're building an interactive dashboard for PlanCatalyst’s redesigned website that forecasts country-level development progress on:

  • UN SDGs (United Nations Sustainable Development Goals) – Human Rights & Gender Equity
  • ND-GAIN (Notre Dame Global Adaptation Index) – Climate Change Resilience
  • World Bank Data – Financial Capacity

We are exploring ML regression techniques using scikit-learn to forecast country-level development and NumPy to construct composite indexes. Azure automates the data pipeline, while Microsoft Power BI delivers the interactive frontend.

About PlanCatalyst

PlanCatalyst is a subsidiary of Plan International Canada (a major international humanitarian and development organization) that provides consulting services in international development, corporate sustainability, and social investment. PlanCatalyst provides consultancy services for topics such as disaster reduction, humanitarian relief, gender equality, education, health, and economic empowerment. The organization maximizes the impact of social investments and ESG initiative by leveraging the extensive field experience of Plan International Canada. It operates in tandem with Plan International Canada, which is a recognized humanitarian organization that responds to emergencies (such as food crises, conflicts, and natural disasters) with a focus on children and girls.

PlanCatalyst acts as a specialized arm for providing strategic, technical, and evaluation expertise to maximize the global impact Plan International Canada makes.

☁️ Azure Architecture

The Azure architecture of this project is still being designed & developed. Azure Architecture Diagram

📊 Data Pipeline Flow Diagram

Data Pipeline Flow Diagram

🏙️ Code Structure

PC-DATA-DASH/
├── .vscode/                          # VS Code configuration
│
├── data/                             # Data storage
│   ├── external/                     # Static external data
│   │   └── nd_gain_countryindex_2025.zip
│   │
│   ├── processed/                    # Processed data (in development)
│   │   ├── 
│   │   ├── 
│   │   └── 
│   │
│   ├── interim/                      # Cleaned/processed data
│   │   ├── nd_gain_interim.csv
│   │   ├── un_sdg_interim.csv
│   │   └── world_bank_interim.csv
│   └── raw/                          # Raw fetched data
│       ├── nd_gain_raw.csv
│       ├── un_sdg_raw.json
│       └── world_bank_raw.json
│
├── notebooks/                        # Jupyter notebooks (empty - for future EDA)
│
├── src/                              # Source code
│   ├── README.md                     # Source code overview
│   │
│   ├── config/
│   │   └── settings.yaml             # Pipeline configuration
│   │
│   ├── fetch/                        # Data fetching module
│   │   ├── README.md                 # Fetching documentation
│   │   ├── FETCHING.png              # Fetching flow diagram
│   │   ├── base_fetch.py             # Base fetcher interface
│   │   ├── fetch_factory.py          # Fetcher factory pattern
│   │   ├── fetch_data.py             # Main fetch orchestrator
│   │   ├── un_sdg_fetch.py           # UN SDG API client
│   │   ├── nd_gain_fetch.py          # ND-GAIN data fetcher
│   │   ├── world_bank_fetch.py       # World Bank API client
│   │   └── .env                      # Environment variables (gitignored)
│   │
│   ├── clean/                        # Data cleaning module
│   │   ├── README.md                 # Cleaning documentation
│   │   ├── CLEANING.png              # Cleaning flow diagram
│   │   ├── base_clean.py             # Base cleaner interface
│   │   ├── clean_factory.py          # Cleaner factory pattern
│   │   ├── clean_data.py             # Main cleaning orchestrator
│   │   ├── un_sdg_clean.py           # UN SDG data cleaner
│   │   ├── nd_gain_clean.py          # ND-GAIN data cleaner
│   │   └── world_bank_clean.py       # World Bank data cleaner
│   │
│   ├── pipeline/                     # Pipeline orchestration
│   │   ├── README.md                 # Pipeline documentation
│   │   ├── ORCHESTRATOR.png          # Orchestrator flow diagram
│   │   ├── orchestrator.py           # Main orchestrator class
│   │   ├── run_pipeline.py           # Pipeline entry point
│   │   ├── terminal_output.py        # Terminal output utilities
│   │   └── utils.py                  # Pipeline helper functions
│   │
│   └── processing/                   # Data processing & ML (in development)
│       ├── README.md                 # Processing documentation
│       ├── regression.py             # Regression models
│       └── forecasting.py            # Forecasting utilities
│
├── venv/                             # Python virtual environment (gitignored)
│
├── .env                              # Environment variables (gitignored)
├── .gitignore                        # Git ignore rules
├── requirements.txt                  # Python dependencies
├── Azure-Arch.png                    # Azure architecture diagram
├── Data-Flow.png                     # Data pipeline flow diagram
└── README.md                         # This file

📌 References/Resources

UN SDGs

ND-GAIN Index

World Bank Group

🌐 Team

This dashboard is made by Tech for Social Impact (TSI).

  • Project Managers: Thomas Llamzon, Anthony Lam
  • Developers: Adeline Lue Sang, Caroline Shen, Christina Wong, Kayden Jaffer, Tyler Asai

Contributors