# iyinoluwadon/omo-forest-deforestation-forecasting architecture

> Architecture diagram of the GitHub repository iyinoluwadon/omo-forest-deforestation-forecasting, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/iyinoluwadon/omo-forest-deforestation-forecasting
- Repository: https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting

## Overview

This repository combines a notebook-based NDVI forecasting workflow with a Streamlit dashboard. Researchers prepare monthly Sentinel-2 NDVI data and an optional LSTM forecast in the notebook, then upload the resulting CSV files to the dashboard. The app can also show demo data; it summarizes and visualizes historical NDVI and overlays supplied forecasts. The README describes Google Earth Engine and hotspot forecasting, but the notebook contents were not sampled, so those internals and any alert dispatch are not mapped beyond documented stages.

Main entry points: [`app.py`](https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/app.py) (Streamlit Dashboard), [`omo_ndvi_forecast (4).ipynb`](https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/omo_ndvi_forecast%20(4).ipynb) (Forecast Notebook)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_analysis["NDVI Analysis"]
  node_notebook["Forecast Notebook"]
  node_satellite_data["Sentinel-2 Data"]
  node_monthly_ndvi["Monthly NDVI CSV"]
  node_lstm_forecast["LSTM Forecast"]
  node_forecast_csv["Forecast CSV"]
end

subgraph group_dashboard["Dashboard"]
  node_dashboard_app["Streamlit Dashboard<br/>[app.py]"]
  node_demo_data["Demo NDVI Data<br/>[app.py]"]
  node_summary["NDVI Summary<br/>[app.py]"]
  node_timeseries["Time Series Chart<br/>[app.py]"]
  node_date_explorer["Date Explorer<br/>[app.py]"]
  node_forecast_overlay["Forecast Overlay<br/>[app.py]"]
end

node_researcher(("Researcher"))
node_conservationist(("Conservationist"))
node_earth_engine["Google Earth Engine"]

node_researcher -->|"runs analysis"| node_notebook
node_earth_engine -->|"provides imagery"| node_notebook
node_notebook -->|"analyzes imagery"| node_satellite_data
node_notebook -->|"exports monthly data"| node_monthly_ndvi
node_notebook -->|"produces forecast"| node_lstm_forecast
node_notebook -->|"exports forecast"| node_forecast_csv
node_researcher -->|"opens dashboard"| node_dashboard_app
node_researcher -->|"uploads CSV"| node_dashboard_app
node_dashboard_app -->|"reads uploaded data"| node_monthly_ndvi
node_dashboard_app -->|"uses when absent"| node_demo_data
node_dashboard_app -->|"reads optional upload"| node_forecast_csv
node_dashboard_app -->|"computes statistics"| node_summary
node_dashboard_app -->|"plots NDVI"| node_timeseries
node_dashboard_app -->|"filters date range"| node_date_explorer
node_dashboard_app -->|"plots supplied forecast"| node_forecast_overlay
node_conservationist -->|"views results"| node_summary
node_conservationist -->|"views trends"| node_timeseries
node_conservationist -->|"explores dates"| node_date_explorer
node_conservationist -->|"views forecast"| node_forecast_overlay

click node_notebook "https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/omo_ndvi_forecast%20(4).ipynb"
click node_satellite_data "https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/omo_ndvi_forecast%20(4).ipynb"
click node_monthly_ndvi "https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/omo_ndvi_forecast%20(4).ipynb"
click node_lstm_forecast "https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/omo_ndvi_forecast%20(4).ipynb"
click node_forecast_csv "https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/omo_ndvi_forecast%20(4).ipynb"
click node_dashboard_app "https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/app.py"
click node_demo_data "https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/app.py"
click node_summary "https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/app.py"
click node_timeseries "https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/app.py"
click node_date_explorer "https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/app.py"
click node_forecast_overlay "https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/app.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_notebook,node_satellite_data,node_monthly_ndvi,node_lstm_forecast,node_forecast_csv toneBlue
class node_dashboard_app,node_demo_data,node_summary,node_timeseries,node_date_explorer,node_forecast_overlay toneAmber
class node_researcher,node_conservationist,node_earth_engine toneIndigo
```

## Components

### NDVI Analysis

- [Forecast Notebook](https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/omo_ndvi_forecast%20(4).ipynb): `omo_ndvi_forecast (4).ipynb`
- [Sentinel-2 Data](https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/omo_ndvi_forecast%20(4).ipynb): `omo_ndvi_forecast (4).ipynb`
- [Monthly NDVI CSV](https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/omo_ndvi_forecast%20(4).ipynb): `omo_ndvi_forecast (4).ipynb`
- [LSTM Forecast](https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/omo_ndvi_forecast%20(4).ipynb): `omo_ndvi_forecast (4).ipynb`
- [Forecast CSV](https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/omo_ndvi_forecast%20(4).ipynb): `omo_ndvi_forecast (4).ipynb`

### Dashboard

- [Streamlit Dashboard](https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/app.py): `app.py`
- [Demo NDVI Data](https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/app.py): `app.py`
- [NDVI Summary](https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/app.py): `app.py`
- [Time Series Chart](https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/app.py): `app.py`
- [Date Explorer](https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/app.py): `app.py`
- [Forecast Overlay](https://github.com/iyinoluwadon/omo-forest-deforestation-forecasting/blob/main/app.py): `app.py`

### Other components

- **Researcher**
- **Conservationist**
- **Google Earth Engine**

## Connections

- Researcher → Forecast Notebook: runs analysis
- Google Earth Engine → Forecast Notebook: provides imagery
- Forecast Notebook → Sentinel-2 Data: analyzes imagery
- Forecast Notebook → Monthly NDVI CSV: exports monthly data
- Forecast Notebook → LSTM Forecast: produces forecast
- Forecast Notebook → Forecast CSV: exports forecast
- Researcher → Streamlit Dashboard: opens dashboard
- Researcher → Streamlit Dashboard: uploads CSV
- Streamlit Dashboard → Monthly NDVI CSV: reads uploaded data
- Streamlit Dashboard → Demo NDVI Data: uses when absent
- Streamlit Dashboard → Forecast CSV: reads optional upload
- Streamlit Dashboard → NDVI Summary: computes statistics
- Streamlit Dashboard → Time Series Chart: plots NDVI
- Streamlit Dashboard → Date Explorer: filters date range
- Streamlit Dashboard → Forecast Overlay: plots supplied forecast
- Conservationist → NDVI Summary: views results
- Conservationist → Time Series Chart: views trends
- Conservationist → Date Explorer: explores dates
- Conservationist → Forecast Overlay: views forecast
