Citizen Squad is an open-source Flutter application aimed at empowering citizens to report issues like abandoned vehicles, potholes, and garbage directly to the relevant authorities (RTO for vehicles and municipal corporations for public infrastructure). The app uses modern Flutter development practices, integrates with APIs like Google Maps and Parivahan, and stores data on Firebase and MongoDB.
- Report Abandoned Vehicles: Uses the Parivahan API to fetch vehicle details and notify the RTO.
- Report Potholes & Garbage: Integrates with Google Maps API for real-time location tracking to help report issues to municipal corporations.
- Dashcam Feature: Automatically captures and reports potholes while driving, using the phone's camera.
- Google Maps Integration: Helps users mark locations easily for accurate reporting.
- Real-time Notifications: Keeps users informed about the status of their reports.
- Multi-platform Support: The app works on both Android and iOS.
- Frontend: Flutter with Provider for state management.
- Backend: Firebase, MongoDB.
- APIs Used:
- Google Maps API for location tracking and reporting.
- Parivahan API for abandoned vehicle information.
If you're new to Flutter or contributing to open-source projects, follow these steps to get started:
- Install Flutter SDK
- Install a code editor like VS Code or Android Studio
- Set up Firebase and MongoDB
-
Clone this repository:
git clone https://github.com/Shubham-zone/citizen-squad.git
-
Install dependencies:
flutter pub get
-
Set up Firebase in your project:
- Add your
google-services.json
(Android) orGoogleService-Info.plist
(iOS) in the respective directories.
- Add your
-
Set up the necessary API keys:
- Ensure you have the API keys for Google Maps and Parivahan API.
-
Run the app:
flutter run
If you encounter any issues while using the Citizen Squad app, consider the following troubleshooting steps:
- Issue: The search feature does not return results.
- Solution: Double-check the keywords entered. Clear the app cache and restart.
- Issue: Filters do not seem to apply correctly.
- Solution: Ensure you select at least one filter before applying. If the app crashes, try restarting it.
- Tip: An "All Filters" option is available to reset filters easily.
- Issue: The app crashes when you try to open it.
- Solution: Make sure the app is up to date. If the problem persists, reinstall the app.
- Issue: Users do not receive notifications about reports.
- Solution: Check app permissions to ensure notifications are enabled. Also, verify your internet connection.
- Issue: Google Maps integration is not working.
- Solution: Ensure that location services are enabled on your device and that you have a stable internet connection.
- Issue: Users are not able to login with their personal mobile number.
- Solution: Try logging in with this Test number and OTP. Test Number : 9999999999 Test OTP: 000000
If the issue persists, please open an issue for further assistance.
We welcome contributions from the community! To contribute, follow these steps:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Make your changes and commit with clear messages.
- Push your changes and create a pull request.
- We extend our heartfelt gratitude for your invaluable contribution to our project! Your efforts play a pivotal role in elevating this project to greater heights.
- Make sure you show some love by giving ⭐ to our repository.
If you encounter any issues or have suggestions for new features, feel free to open an issue.
For questions or suggestions, please reach out to the maintainers or open an issue in the repo.