TripTrigger is a modern Android navigation and geofencing application built using Kotlin, Jetpack Compose, and Clean Architecture. It enables users to create routes, track movement in real-time, and receive notifications when entering predefined geofences.
- 📍 Real-time location tracking
- 🗺️ Route creation and visualization on map
- 🧭 Navigation mode with dynamic route
- 🔔 Geofence-based notifications
- ⚡ Efficient location updates
- 🧠 Smart state management using MVI
The app follows Clean Architecture + MVI (Model-View-Intent) principles:
- Presentation Layer → ViewModel + UI (Jetpack Compose)
- Domain Layer → UseCases (business logic)
- Data Layer → Repositories + Room + Remote APIs
- Unidirectional data flow
- State-driven UI
- Dependency Injection with Hilt
- Modular feature-based structure
- Kotlin
- Jetpack Compose
- Google Maps SDK
- Google Places API (New SDK)
- Hilt (Dependency Injection)
- Room Database
- Coroutines + Flow
- Foreground Services (location tracking)
core/
├── location/
├── notification/
├── database/
feature/
├── map/
app/
├── TripTriggerApp
git clone https://github.com/your-username/TripTrigger.gitAdd your Google Maps API key in:
local.properties
MAPS_API_KEY=YOUR_API_KEY
- Open in Android Studio
- Build & Run
- Location (foreground + background)
- Notifications
- Route snapping (Google Maps level accuracy)
- Better navigation UI
- Offline support
- Notification actions (open map, stop navigation)
Sridhar Prasath