FloodGuard is a real-time flood monitoring and emergency alert platform designed for flood-prone communities in Nigeria. It uses live weather and flood data to detect risk levels, send SMS/email alerts, and help users identify safer routes during flood events—bridging the gap between early warning and rapid response.
# FloodGuard — Predict, Protect, Respond
A fully functional climate adaptation MVP providing real-time flood risk alerts, citizen emergency reporting with voice input, and an authority dashboard to manage and respond to emergencies in Nigeria.
**No login/signup required** — Direct access via:
- `/` → Landing page with role selection
- Citizen view → for normal users
- Authority Dashboard → for agencies, NGOs, and rescue teams
## 🏗 Tech Stack
### Frontend
- **React 18** with TypeScript
- **Tailwind CSS** for modern, clean styling
- **Leaflet.js** and React Leaflet for interactive maps
- **Lucide React** for icons
- **Browser Geolocation API** for automatic location detection
- **MediaRecorder API** for voice recording
### Backend
- **Supabase Edge Functions** (Deno runtime)
- **PostgreSQL** database with Row Level Security
- **Supabase Storage** for voice recordings
- RESTful API architecture
### External APIs
- **OpenWeatherMap API** — Live weather & rainfall data
- **OpenStreetMap Nominatim** — Reverse geocoding (coordinates to address)
- **Twilio SMS API** — Authority/emergency notifications
- **Browser Geolocation** — Auto-detect user location
- **MediaRecorder API** — Voice input for emergency reports
## 🎯 Core Features
### 🏠 Landing Page
- Clean, modern, professional interface
- Light theme with soft color palette
- Title: **FloodGuard — Predict, Protect, Respond**
- Climate resilience and emergency response messaging
- Two role buttons:
- **👉 Continue as Citizen** (Scroll to citizen section)
- **🛡 Continue as Authority** (Scroll to authority dashboard)
### 👤 Citizen Features
#### Real-Time Flood Risk Monitoring
- **Automatic location detection** using Browser Geolocation API
- Live flood risk assessment using OpenWeatherMap data
- Color-coded risk levels:
- 🟢 **Safe** — Low rainfall, no risk
- 🟡 **Moderate** — Increased rainfall, monitor conditions
- 🟠 **Risky** — Heavy rainfall, prepare for flooding
- 🔴 **Severe** — Extreme rainfall, immediate dange …