Satellite-Powered Compliance Intelligence Platform
Automated industrial land monitoring system that reduces drone dependency by automating violation detection using Sentinel-2 satellite imagery and GIS analysis.
CSIDC currently relies on:
- Expensive drone surveys (infrequent)
- Manual map overlays
- Manual violation detection
- Weeks to take action
Result: Delayed detection, financial loss, inefficient monitoring
GeoCompliance automates land monitoring using:
- Satellite imagery (Sentinel-2)
- GIS boundary analysis
- Automated violation scoring
- Real-time dashboard
- ✅ Plot Boundary Management - Upload and store GeoJSON boundaries
- ✅ Satellite Integration - Fetch latest Sentinel-2 imagery
- ✅ Automated Analysis Engine
- Boundary deviation detection
- Built-up area detection (NDBI)
- Vacant plot detection
- Violation scoring (0-100)
- ✅ Interactive Dashboard - Real-time statistics and risk distribution
- ✅ Map Visualization - Color-coded plots (green/yellow/red)
- ✅ PDF Report Generation - Detailed violation reports
GeoCompliance/
├── backend/ # Node.js + Express API
│ ├── src/
│ │ ├── models/ # MongoDB schemas
│ │ ├── routes/ # API endpoints
│ │ ├── services/ # Business logic
│ │ └── server.js # Express server
│ └── package.json
├── frontend/ # React + Vite
│ ├── src/
│ │ ├── components/ # UI components
│ │ ├── services/ # API client
│ │ └── App.jsx # Main app
│ └── package.json
└── demo-data/ # Sample GeoJSON files
- Node.js (v18 or higher)
- MongoDB (running locally or cloud)
- npm or yarn
- Clone and navigate to project
cd Geohack- Install backend dependencies
cd backend
npm install- Install frontend dependencies
cd ../frontend
npm install- Set up environment variables
cd ../backend
# Copy .env.example to .env
# Update MongoDB URI if needed (default: mongodb://localhost:27017/geocompliance)- Start MongoDB (if running locally)
# Windows
net start MongoDB
# macOS/Linux
sudo systemctl start mongodTerminal 1 - Backend:
cd backend
npm run devBackend will run on http://localhost:5000
Terminal 2 - Frontend:
cd frontend
npm run devFrontend will run on http://localhost:5173
- Click "➕ Upload Plot" button
- Fill in plot details (ID, name, allotment date)
- Drag and drop a GeoJSON file or browse
- Click "Upload Plot"
Sample GeoJSON files are available in demo-data/ folder.
- See total plots, violations, and risk distribution
- Monitor high-risk plots
- Track vacant plots
- Click on any plot card or map marker
- Click "🔍 Run Analysis" button
- View violation scores and metrics
- Generate PDF report
- Switch to "🗺️ Map View" tab
- Color-coded plots:
- 🟢 Green: Low risk (0-39)
- 🟡 Yellow: Medium risk (40-69)
- 🔴 Red: High risk (70-100)
- ⚪ Gray: Not analyzed
GET /api/plots- Get all plotsGET /api/plots/:id- Get specific plotPOST /api/plots/upload- Upload new plotPOST /api/plots/:id/analyze- Analyze plotGET /api/plots/:id/report- Generate PDF reportGET /api/plots/stats/summary- Get dashboard statistics
GET /api/health- API health status
- Boundary Violation Score - Deviation from approved boundary
- Unauthorized Construction Score - Construction outside boundary
- Utilization Score - Plot usage efficiency
- Final Risk Score - Weighted average of all scores
- Boundary Deviation: Polygon intersection analysis
- Built-up Detection: NDBI (Normalized Difference Built-up Index)
- Vacant Detection: Built-up area < 10% threshold
- Node.js + Express
- MongoDB + Mongoose
- Turf.js (geospatial calculations)
- PDFKit (report generation)
- React + Vite
- Leaflet.js (map rendering)
- Chart.js (visualizations)
- Axios (API client)
- ✅ 50%+ reduction in drone dependency
- ✅ Near real-time violation detection
- ✅ Automated analysis and reporting
- ✅ Scalable across multiple regions
- Historical timeline change detection
- Automated email/SMS alerts
- Integration with lease payment database
- AI-based encroachment prediction
- Multi-region support
- Mobile app
Built for CSIDC Hackathon 2026
MIT License
GeoCompliance - Reducing drone dependency through satellite-powered intelligence 🛰️