CIVICSETU is a Flutter-based Android app for civic issue reporting and multi-stakeholder resolution tracking.
The old React/Vite code has been removed. This repository now contains the Flutter app plus a secure AI backend proxy for image-to-report drafting.
civicsetu_flutter/- main Flutter applicationbackend/auto-report-proxy/- secure AI image analysis backend for auto-report draftsbackend/supabase/- starter auth and database schema for SupabaseREADME.md- root project overview.gitignore- GitHub-safe ignore rules for Flutter, Android, and local machine files
- Citizen, authority, contractor, and NGO portals
- In-app complaint camera for direct issue capture
- Auto location fetch for complaint raising
- AI-assisted complaint draft generation with short review and auto-submit flow
- OpenStreetMap preview
- Speech-to-text support
- Duplicate issue detection
- Suspicious review spike freeze and manual review flow
- Authority proof upload and citizen verification before closure
- Comments, bids, donations, and NGO requests
- State quality rankings
- English, Hindi, Tamil, Marathi, and Kannada support
- Email/password and Google auth scaffolding with demo fallback
civicsetu_flutter/lib/main.dartcivicsetu_flutter/lib/app_store.dartcivicsetu_flutter/lib/models.dartcivicsetu_flutter/lib/localization.dartcivicsetu_flutter/lib/screens/landing_screen.dartcivicsetu_flutter/lib/screens/citizen_portal.dartcivicsetu_flutter/lib/screens/complaint_camera_screen.dartcivicsetu_flutter/lib/screens/authority_portal.dartcivicsetu_flutter/lib/screens/contractor_portal.dartcivicsetu_flutter/lib/screens/ngo_portal.dartcivicsetu_flutter/lib/utils/location_service.dartcivicsetu_flutter/lib/widgets/common_widgets.dart
From civicsetu_flutter/:
flutter pub get
flutter runRun Flutter with Supabase auth enabled:
flutter run --dart-define=CIVICSETU_SUPABASE_URL=<your-project-url> --dart-define=CIVICSETU_SUPABASE_PUBLISHABLE_KEY=<your-publishable-or-anon-key>Build an APK:
flutter build apkRun the local AI proxy:
cd backend/auto-report-proxy
npm install
npm startThen run Flutter with the backend endpoint:
flutter run --dart-define=CIVICSETU_AUTOREPORT_ENDPOINT=http://10.0.2.2:8787/v1/analyze-complaint-imageFrom the repository root:
git init
git branch -M main
git add .
git commit -m "Initial Flutter app commit"
git remote add origin <your-github-repo-url>
git push -u origin main- The app currently uses seeded in-memory demo data.
- When Supabase config is missing, login stays in role-based demo mode.
- When Supabase config is provided, the app switches to real auth and profile onboarding.
- The camera flow uses the in-app Flutter camera screen and live device location.
- Complaint title, category, and description can now be AI-drafted from the captured image, then short-reviewed before optional auto-submit.
- The OpenAI key belongs only on the backend proxy, never inside the Android app.
- Supabase setup details live in
backend/supabase/README.md. - APKs, local SDK paths, Gradle caches, and other machine-specific files are intentionally ignored for GitHub.