Welcome, Red Team! This is the central repository for our Intellify 3.0 Hackathon project. Please use this README as the main guide for project setup, goals, and reference.
Project Goal: To build "RoadRadar," a crowdsourced system for reporting potholes and road hazards. The app empowers citizens to report issues, which are validated by AI and sent directly to municipal authorities for fast action.
The problem statement is "Crowdsourced Pothole & Road Hazard Reporting System" (Code: IH3MU09).
- Effortless Citizen Reporting: Users can report a hazard by snapping a photo, with the location being auto-tagged. Descriptions can be added via text or voice in multiple languages.
- AI-Powered Image Validation: The system uses an on-device AI model to verify that uploaded images genuinely contain a road hazard, reducing spam.
- Live Hazard Heatmap: An interactive city-wide map visualizes all reported hazards, providing a transparent overview of problem hotspots.
- Instant Authority Alerts: As soon as a valid report is submitted, a real-time notification is sent to the relevant municipal authorities for a rapid response.
- Predictive Hazard Mapping: The system analyzes report data to predict potential future trouble spots, allowing for proactive maintenance.
- Inclusive and Accessible: With a multilingual UI and voice/text input options, RoadRadar is designed to be usable by everyone.
This project is built on the following technologies. All team members should be familiar with this stack.
| Component | Technology | Purpose |
|---|---|---|
| Frontend | Flutter | Cross-platform development for Android & iOS. |
| Mapping | Google Maps SDK | In-app maps, location services, and heatmap visualization. |
| Backend | Firebase | Complete serverless backend solution. |
| Database | Cloud Firestore | Real-time NoSQL database for storing and syncing reports. |
| Storage | Cloud Storage | Securely hosting user-uploaded hazard images. |
| Authentication | Firebase Auth | Secure user and administrator authentication. |
| Notifications | Cloud Messaging | Sending instant alerts. |
| AI/ML | TensorFlow Lite | On-device AI model for image validation. |
| System Integration | Firebase Functions | Automating backend tasks and report notifications. |
All team members must follow these steps to set up the project locally.
- Make sure you have the Flutter SDK installed.
- You must be added as a collaborator to this GitHub repository and the project's Firebase console.
-
Clone the repository Open your terminal and run:
git clone [https://github.com/your-username/your-private-repo-name.git](https://github.com/your-username/your-private-repo-name.git)
-
Set up Firebase Configuration
- Go to our shared Firebase Project Console.
- Download the configuration file for the platform you are testing on:
- For Android, download
google-services.jsonand place it in theandroid/app/directory. - For iOS, download
GoogleService-Info.plistand place it in theios/Runner/directory using Xcode.
- For Android, download
- These files are listed in
.gitignoreand will not be pushed to the repository.
-
Add Local API Keys
- In the
lib/folder, create a new file namedsecrets.dart. This file is required for the app to build. - Add the Google Maps API key (available in our shared notes/chat) to this file.
// lib/secrets.dart const String googleMapsApiKey = 'PASTE_THE_GOOGLE_MAPS_API_KEY_HERE';
- This
secrets.dartfile is ignored by Git, so you must create it locally.
- In the
-
Install Dependencies Navigate to the project directory and run:
flutter pub get
-
Run the App You are now ready to run the project on your emulator or physical device.
flutter run