Skip to content

A unified aggregator for ride and delivery applications that enables real time price and service comparison in a single interface. It streamlines the booking process using an intelligent deep linking engine that automates address handling and cross app navigation.

License

Notifications You must be signed in to change notification settings

Roniscend/SafarLink

Repository files navigation

🚖 SafarLink

SafarLink is a smart ride aggregator Android application designed to simplify urban commuting.
It aggregates ride options from major providers like Uber, Ola, Rapido, and Namma Yatri into a single, unified interface, allowing users to compare prices and estimates instantly without switching between multiple apps.

This project showcases advanced Android development practices, including Clean Architecture, MVVM, Jetpack Compose, and a custom Deep Linking Strategy to handle third-party app integrations.


🌟 Key Features

🔍 Unified Ride Comparison

  • Real-time aggregation of ride options.
  • Supports major Indian ride-hailing services: Uber, Ola, Rapido, and Namma Yatri.
  • Displays estimated prices and time-of-arrival (simulated for comparison logic).

🚀 Smart "Deep Launch" Engine

A hybrid linking strategy designed to handle different app behaviors:

  • Direct Deep Linking: Launches Uber and Ola directly with pickup and drop coordinates pre-filled.
  • Smart Clipboard Integration: For apps that block direct external automation (like Rapido and Namma Yatri), SafarLink automatically:
    1. Reverse-geocodes coordinates into a readable address.
    2. Copies the destination address to the clipboard.
    3. Launches the target app for a seamless one-tap experience.

📍 Location Intelligence

  • Auto-GPS Detection: Fetches the user's current location using Android Location Services.
  • Smart Search: Uses OpenStreetMap (Nominatim API) for real-time location suggestions and geocoding — no paid Google APIs required.

🔐 Robust Authentication System

  • Firebase Authentication (Email/Password & Google Sign-In).
  • Strict Login Logic: Prevents accidental account creation on the Login screen, eliminating ghost accounts and enforcing a proper Sign-Up flow.

🛠️ Tech Stack

  • Language: Kotlin
  • UI Toolkit: Jetpack Compose (Material Design 3)
  • Architecture: MVVM + Clean Architecture
  • Dependency Injection: Dagger Hilt
  • Async: Kotlin Coroutines & Flow
  • Backend: Firebase Authentication & Firestore
  • Networking: HttpURLConnection (Custom Geocoding Implementation)
  • Navigation: Jetpack Navigation Compose

🏗️ Architecture Overview

SafarLink follows a strict Clean Architecture approach:

1️⃣ Presentation Layer

  • Built entirely with Jetpack Compose
  • ViewModels manage UI state using StateFlow
  • Handles UI logic and deep-launch intent triggering

2️⃣ Domain Layer

  • Business logic and repository interfaces
  • Ride comparison logic & authentication rules
  • Pure Kotlin (no Android dependencies)

3️⃣ Data Layer

  • Repository implementations
  • Integrates Firebase, Android location services, and deep link URI builders

🎥 Videos

WhatsApp.Video.2026-01-12.at.16.10.55.mp4

📸 Screenshots


About

A unified aggregator for ride and delivery applications that enables real time price and service comparison in a single interface. It streamlines the booking process using an intelligent deep linking engine that automates address handling and cross app navigation.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages