How rahmatul-islam/nagar-drishti_test works
Nagar-Drishti is a Flutter civic-issue reporting and resolution-tracking app. The intended citizen flow is phone authentication, photo-based issue classification and location capture, report submission, then status tracking and citizen verification; authority screens support operational follow-up, while heatmaps and notifications extend the feedback loop. The tree shows Appwrite-oriented services and an AI service, but sampled source is mostly platform boilerplate, so feature wiring and backend behavior are not verified. The README’s separate web-admin, offline-sync, duplicate-clustering, and analytics capabilities are not clearly represented as implementations in this tree.
Main entry points: create_report_screen.dart Create report · routes.dart App routes · home_screen.dart Home screen · report_service.dart Report service
Components 20
Citizen app
- Flutter app
lib/main.dart - App routes
lib/app/routes.dart - Phone authentication
lib/features/auth/screens - Home screen
lib/features/home/screens/home_screen.dart - My reports
lib/features/my_reports/screens/my_reports_screen.dart - Report details
lib/features/my_reports/screens/report_details_screen.dart - Citizen verification
lib/features/my_reports/screens/report_details_screen.dart - Area heatmap
lib/features/home/screens/heatmap_screen.dart
Report handling
- Create report
lib/features/report/screens/create_report_screen.dart - Issue classification
lib/features/report/services/ai_service.dart - Report service
lib/features/report/services/report_service.dart
Authority operations
- Authority dashboards
lib/features/authority/screens - Work assignment
lib/features/authority/widgets/report_workflow_details_modal.dart
App services
- GPS location
lib/core/services/location_service.dart - Appwrite reports
lib/data/remote/appwrite_report_service.dart - Notification service
lib/features/notification/services/notification_service.dart - Appwrite notifications
lib/data/remote/appwrite_notification_service.dart
Other components
- Citizen
- Appwrite
- App user
Connections 18
- Citizen → Flutter app: opens
- Flutter app → App routes: routes
- App routes → Phone authentication: presents
- App routes → Home screen: presents
- Home screen → Create report: starts report
- Create report → Issue classification: classifies image
- Create report → GPS location: captures location
- Create report → Report service: submits report
- Report service → Appwrite reports: delegates
- Appwrite reports → Appwrite: reads/writes
- My reports → Report service: loads reports
- My reports → Report details: opens report
- Report details → Citizen verification: verifies resolution
- Authority dashboards → Work assignment: manages work
- Home screen → Area heatmap: opens
- Notification service → Appwrite notifications: uses
- Appwrite notifications → Appwrite: reads/writes
- App user → Notification service: receives updates