Logo Lanfrica

Sahil-memane/nexHarvest

Domain:

agricultureclimate

Record type:

project
Creator:
Sah
Host:
A fully modular, production-ready Flask MVC backend backed by MongoDB Atlas. This project implements role-based access control, JWT session management, and a clean API surface for multiple dashboard types (Farmer, Insurance Officer, Admin). # 🌾 nexHarvest > **Farmer-Centric Dual-Hazard Crop Intelligence System** > Built for the **ClimateX 2026 + NABARD National Climate Stack Innovation Challenge** > Institution: JSPM Rajarshi Shahu College of Engineering, Pune --- ## πŸ“Œ Overview **ClimateForeSight** is a full-stack climate intelligence platform that combines real-time satellite data, machine learning, and automated insurance triggering to protect Indian farmers against drought and flood. The system provides a personalised Farmer Vulnerability Index (FVI), 15-year crop risk projections (2025–2040), and autonomous PMFBY insurance activation β€” all without manual paperwork. The platform serves **four distinct user roles** β€” Farmer, Loan Officer (NABARD), Insurance Officer, and Admin β€” each with their own dashboard view and access scope. --- ## πŸ—‚οΈ Project Structure ``` nexHarvest/ β”œβ”€β”€ backend/ # Python Flask MVC Backend (REST API) β”‚ β”œβ”€β”€ app.py # App factory, blueprint registration, JWT config β”‚ β”œβ”€β”€ config.py # Environment variables (MongoDB URIs, JWT secret) β”‚ β”œβ”€β”€ extensions.py # Flask-JWT-Extended + Flask-CORS globals β”‚ β”œβ”€β”€ utils.py # @role_required RBAC decorator β”‚ β”œβ”€β”€ requirements.txt # Python dependencies β”‚ β”œβ”€β”€ db_seed.py # Database seeding utility β”‚ β”œβ”€β”€ test_db.py # MongoDB connection test script β”‚ β”‚ β”‚ β”œβ”€β”€ models/ # Data Access Objects (MongoDB Atlas) β”‚ β”‚ β”œβ”€β”€ db.py # Atlas connection + auto-index provisioning β”‚ β”‚ β”œβ”€β”€ user_model.py # Auth DB: User credentials & role mapping β”‚ β”‚ β”œβ”€β”€ session_model.py # Auth DB: JWT session tracking + TTL expiry β”‚ β”‚ β”œβ”€β”€ farmer_model.py # App DB: Farmer profile schema β”‚ β”‚ └── claim_model.py # App DB: Insurance claim tracking β”‚ β”‚ β”‚ β”œβ”€β”€ controllers/ # Business Logic Layer β”‚ β”‚ β”œβ”€β”€ auth_controller.py …