A location-based Android application integrating Google Maps, live geolocation, hardware camera capture (CameraX), and cloud synchronization with Firebase.

The Project: SergiiTB Maps is a robust mobile application built around location-based services. Users can register securely, view their real-time location on an interactive map, and plot custom markers. The app integrates directly with the device camera to attach photos to map pins, seamlessly synchronizing all data via Firebase.
The Challenge: Integrating multiple hardware APIs (Location Services, CameraX) with a reactive UI (Jetpack Compose) required strict MVVM boundaries. Handling permissions dynamically with Accompanist and managing state flows between the local Datastore and Firebase Firestore were key challenges. Additionally, the Google Maps API Key was explicitly documented via secrets.properties for educational validation (note: this key was activated exclusively for the school demo and is now revoked).
Interactive Map View with Markers1 / 5
Data Layer: Firebase Firestore & Storage repository integrations, along with local DataStore preferences manager and entity models.
Presentation Layer: MapViewModel exposes reactive LiveData for UI state, auth status, camera payloads, and map markers.
Compose UI: Interactive MapScreen, AddMarkerScreen, LogScreen, ProfileScreen, and Camara integration views.
Material Design 3 system defining custom typography, color palettes, and responsive component layouts.