Logo Lanfrica

Mercykal/kenya-weather-aware-dashboard

Domain:

agriculturemobility

Record type:

software
Creator:
Mer
Host:
A capstone project for an e-commerce and agri-logistics dashboard that integrates weather data. # Kenya Weather-Aware E-Commerce and Agri-Logistics Dashboard ## 1. Project Overview & Problem Statement This capstone project implements an end-to-end data analytics solution for a fictional Kenya-based e-commerce and produce-delivery startup. The company's operations across five key cities (Nairobi, Mombasa, Kisumu, Eldoret, and Nakuru) were being significantly impacted by adverse weather conditions. The goal of this project was to build an automated data pipeline and an interactive Power BI dashboard to: - Monitor and forecast weather conditions for each city. - Predict operational risks to deliveries based on weather data. - Integrate sales, customer, and product data into a single analytical view. - Offer simple, data-driven planting advisories for the company's agricultural suppliers. ## 2. Tools and Technologies This project was built using a modern data stack: - **Data Orchestration:** Mage AI - **Data Extraction:** Python (`requests`, `pandas`) - **Data Storage:** PostgreSQL - **Data Transformation:** Python (`pandas`) - **Data Visualization:** Microsoft Power BI - **Environment Management:** Python `venv` - **Version Control:** Git & GitHub ## 3. Data Pipeline (Mage AI) An automated ETL (Extract, Transform, Load) pipeline was built using Mage AI to handle the daily collection, cleaning, and storage of data. The pipeline consists of three main blocks: 1. **Data Loader (Extract):** Fetches raw data from three external APIs: - **OpenWeather API:** 5-day/3-hour weather forecasts. - **Fake Store API:** Mock product catalog data. - **FakerAPI:** Mock customer data. 2. **Transformer (Transform):** Cleans and models the raw data using pandas. Key transformations include parsing JSON, programmatically replacing customer city data with the five target Kenyan cities, and generating a mock `orders` table to link customers and products. 3. **Data Exporter (Load):** Loads the four final, clean DataFrames (`customers`, `products`, `orders`, `weather_f …