# 🌦️ Météo Tunisie — National Weather Analytics Platform
**A cloud-native, real-time weather data platform covering 221 cities across all 24 governorates of Tunisia.**
Live Dashboard → · API Docs →
---
## 📋 Table of Contents
- Overview
- Architecture
- Tech Stack
- Project Structure
- Data Pipeline
- API Reference
- Frontend Dashboard
- Database Schema
- Getting Started
- Configuration
- Deployment
- Contributing
---
## 🔭 Overview
**Météo Tunisie** is an end-to-end weather data engineering project that collects, streams, stores, analyses, and visualises meteorological data for the entire Tunisian territory.
| Metric | Value |
|---|---|
| Cities covered | **221** |
| Governorates | **24** |
| Historical records | **~403 000 rows** (2020–2024) |
| Current refresh rate | **every 15 minutes** |
| Forecast horizon | **7 days** |
| Forecast refresh rate | **every 6 hours** |
**Key capabilities:**
- 📡 **Real-time ingestion** — Live weather conditions streamed via Apache Kafka (Aiven Cloud)
- 🗃️ **Historical archive** — Five years of daily data from the Open-Meteo Archive API
- 📊 **Automated analytics** — Daily Airflow pipelines compute monthly trends, temperature peaks, inter-variable correlations, and annual statistics
- 🚨 **Alert system** — Threshold-based weather alerts for extreme conditions
- 🌐 **REST API** — JWT-secured FastAPI backend deployed on Render.com
- 🖥️ **Interactive dashboard** — Vanilla JS frontend with Leaflet maps and Plotly charts, hosted on GitHub Pages
---
## 🏗️ Architecture
```
┌─────────────────────────────────────────────────────────────────────┐
│ DATA SOURCES │
│ Open-Meteo Archive API Open-Meteo Live API │
│ (historical 2020-2024) (current & 7-day forecast) │
└──────────────────────┬──────────────────────────┬───────────────────┘
│ │
▼ ▼
┌─────────────────────────────────────── …