Completed2026Android developer (team)
Citoyen Actif
Android mobile app for reporting urban infrastructure issues with geolocation, photos, and municipal management dashboard.

Project overview
A mobile app developed collaboratively allowing Trois-Rivières citizens to report infrastructure issues (roads, sidewalks, lighting) to municipal services via geolocated and photo-documented reports.
Current state
- Functional mobile app developed collaboratively with Git (GitLab).
- Reporting modules, interactive map, and push notifications operational.
- Two user profiles (citizen / municipal employee) with Firebase authentication.
- Local Room persistence combined with Firestore synchronization.
Tech stack
JavaAndroidFirebase (Firestore, FCM, Analytics)RoomGoogle MapsGit
Tags & Code
AndroidMobileFirebaseJava
Collaborative development (GitLab)
Vision
- Simplify communication between citizens and municipal services through an accessible mobile app.
- Enable transparent real-time tracking of report statuses.
- Improve infrastructure management efficiency for municipal employees.
Architecture
- MVVM architecture (ViewModel, LiveData, Navigation Component) with clear separation of concerns.
- Full report management: create, read, update, delete with camera photos and GPS location.
- Two distinct user profiles (citizen and municipal employee) with secure authentication.
- Local data persistence with Room Database and Firebase Firestore synchronization.
- Interactive map visualization (Google Maps) with real-time geolocation.
- Push notifications via Firebase Cloud Messaging (FCM) for status updates.
Roadmap
- Phase 1: MVVM architecture, authentication, and user profile management.
- Phase 2: reporting modules with camera, GPS, and local persistence (Room).
- Phase 3: Firestore sync, interactive map, and FCM push notifications.
- Phase 4: testing, debugging, and technical documentation.
Engineering decisions
- MVVM chosen to ensure clear separation and maximum testability.
- Room + Firestore to combine offline local persistence with cloud synchronization.
- Firebase FCM for push notifications without a dedicated server infrastructure.
- Google Maps for native, smooth geographic visualization.
Possible improvements
- Add search filters and sorting by report category.
- Statistics and dashboards for municipal employees.
- Improve UI accessibility and performance.
Lessons learned
- Collaborative development with Git requires constant discipline and communication.
- MVVM architecture facilitates task distribution in a team.
- Combining Room and Firestore ensures a smooth experience even offline.