Skip to content

anmolthakur74/BloomWatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BloomWatch

Satellite-Based Vegetation Monitoring & Bloom Event Analysis


Overview

BloomWatch is a full-stack web application designed to monitor vegetation health and detect bloom events using satellite-derived NDVI (Normalized Difference Vegetation Index) data.

The platform enables users to analyze historical vegetation trends for any location on Earth through an interactive map and time-series analytics. It is built for applications in agriculture, environmental monitoring, and ecological research.

The backend leverages Google Earth Engine (GEE) for large-scale satellite data processing, while the frontend delivers an intuitive, responsive user experience.


Live Application

The frontend application is deployed and publicly accessible.

Live URL: https://bloom-watch-indol.vercel.app/

The backend API for BloomWatch is deployed on Render.

Backend services are intentionally kept private and are not exposed publicly.
The frontend communicates with the backend through secure configuration, following standard production best practices for API security and access control.


Features

  • Global NDVI analysis using satellite imagery
  • Interactive map with region-of-interest (ROI) visualization
  • NDVI time-series charts
  • Bloom event detection using peak analysis
  • Vegetation health classification
  • Human-readable location names via reverse geocoding
  • Optimized handling of large satellite datasets

Technology Stack

Frontend

  • React (Vite)
  • TypeScript
  • Leaflet
  • Recharts
  • Tailwind CSS

Backend

  • FastAPI (Python)
  • Google Earth Engine (GEE)
  • NumPy
  • Pandas
  • SciPy

Deployment

  • Frontend: Vercel
  • Backend: Render

Data Sources

  • Google Earth Engine
    • MODIS NDVI satellite products
  • OpenStreetMap Nominatim
    • Reverse geocoding services
  • CartoDB
    • Base map tiles

Project Architecture

  1. The user selects a geographic location, date range, and region of interest (ROI) size from the frontend interface.
  2. The frontend sends structured API requests to the backend service.
  3. The backend retrieves and processes satellite imagery using Google Earth Engine (GEE).
  4. NDVI time series, bloom events, and vegetation analytics are computed server-side and returned to the frontend for visualization.

Running Locally

Backend Setup

git clone https://github.com/anmolthakur74/BloomWatch.git
cd BloomWatch
python -m venv bloom_env
.\bloom_env\Scripts\Activate.ps1
pip install -r requirements.txt
python -m uvicorn backend.main_gee:app --reload

Frontend Setup

cd web
npm install
npm run dev

Author

Anmol Thakur

GitHub: https://github.com/anmolthakur74

Releases

No releases published

Contributors