EcoClear is a role-based GovTech web platform for managing the Environmental Clearance workflow across multiple stakeholders:
- Proponent
- Scrutiny Team
- MoM Team
- Admin
The system supports application submission, scrutiny review, deficiency handling, AI-generated meeting gist, MoM finalization, payment tracking, notifications, and role-based dashboards.
EcoClear digitizes the environmental compliance process from initial application to finalized Minutes of Meeting (MoM), with a clean SaaS-style dashboard UI and Supabase-backed data layer.
- React (Vite)
- React Router DOM
- Tailwind CSS (plus project-level custom styles)
- Lucide React icons
- jsPDF + jspdf-autotable (client-side PDF export)
- Supabase JS client
- Node.js + Express
- Supabase JS (server-side usage)
- PDF text extraction utilities
- Ollama (local LLM) integration
- Cloudflared tunnel (to expose local backend to deployed frontend)
- Supabase
- Auth
- Postgres tables
- Storage buckets
- Realtime notifications
- Proponent creates account and logs in.
- Proponent creates a new application:
- selects sector/category
- views sector-based required documents
- checks mandatory affidavits
- uploads PDFs
- completes payment
- Application moves to Scrutiny Team.
- Scrutiny Team reviews submitted documents:
- approve and refer to MoM, or
- raise deficiency with notes/EDS checklist items
- On approval, backend generates AI meeting gist from uploaded documents.
- MoM Team receives referred case, schedules meeting, edits minutes, and finalizes MoM.
- Proponent sees final status and can download finalized documents.
- Notifications are generated on status changes and shown via bell icon.
- Supabase Auth integration
- Role-based route guards and dashboard redirects
- Public and protected routing structure
- Dashboard analytics cards
- New Application form
- category from DB sectors
- required documents and affidavits display
- affidavit validation (must be checked before submit)
- multi-PDF upload
- draft save/edit flow
- deficiency resubmission flow
- Payment page
- UPI details + QR support
- transaction number capture
- payment completion workflow
- My Applications table
- workflow stage view
- deficiency message handling
- finalized document download options
- Payments tab
- successful payment listing
- Bell notifications for status updates
- AI assistant in New Application form
- Dashboard cards and review tables from DB
- High priority reviews (urgency-based)
- Application Review page
- uploaded document access
- EDS checklist
- review notes
- raise deficiency / approve-and-refer actions
- AI gist generation trigger on approval
- Dashboard and stage-wise tables from DB
- Referred Cases
- Meeting Scheduled
- Pending MoM
- Finalized MoM
- Edit Gist flow
- Edit Minutes flow (template-driven)
- AI assistant in minutes editor
- Download options for gist and minutes
- System dashboard with stage distribution and completion metrics
- Users and role assignment pages
- Sector and sector-parameter management
- Templates management module (create/edit/preview/etc.)
- Audit logs and payment visibility
- DB-backed cards, charts, and tables
- Proponent assistant: helps users fill application data.
- Scrutiny AI gist generation: extracts text from uploaded PDFs and generates structured meeting gist.
- MoM assistant: supports drafting/refining minutes during editing.
- Supports local LLM with Ollama (example:
gemma3:1b).
- Frontend deployed on Vercel
- Supabase hosted in cloud
- Backend runs locally
- Ollama runs locally
- Cloudflared exposes local backend URL over HTTPS to Vercel frontend
This repository contains the frontend app:
ecoclear-frontend/
src/
pages/
components/
context/
routes/
lib/
utils/
public/
README.md
Backend is maintained in a sibling repository/folder (ecoclear-backend).
- Node.js 18+
- npm
- Supabase project
npm install
npm run devVITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
VITE_AI_BACKEND_URL=http://localhost:8787In ecoclear-backend:
npm install
npm run devTypical backend environment values:
SUPABASE_URL=your_supabase_url
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
AI_PROVIDER=ollama
OLLAMA_BASE_URL=http://127.0.0.1:11434
OLLAMA_PRIMARY_MODEL=gemma3:1b
PORT=8787Start Ollama:
ollama serve- Deploy frontend repo to Vercel.
- Add Vercel env vars:
VITE_SUPABASE_URLVITE_SUPABASE_ANON_KEYVITE_AI_BACKEND_URL(Cloudflared HTTPS URL)
- Start backend locally on
8787. - Start tunnel:
cloudflared tunnel --url http://localhost:8787- Copy generated
https://*.trycloudflare.comintoVITE_AI_BACKEND_URLand redeploy preview.
draftsubmittedunder_scrutinydeficiency_raisedreferredmom_generatedmeeting_scheduledminutes_draftfinalized
- Current payment flow is user-confirmed for hackathon speed.
- Current deployment pattern (local backend + tunnel) is demo-friendly, not production-grade.
- For production, host backend and AI infrastructure as managed services.
This project is licensed under the MIT License. See LICENSE.