Skip to content

This project is a simple Android application that demonstrates the use of modern Android development practices. The app fetches the user's live location and displays it on a map with a taxi icon as a marker. The project is built using Kotlin and Jetpack Compose, following the Clean + MVI architecture, and supports both Dark and Light themes.

Notifications You must be signed in to change notification settings

otamurod/MyTaxi

Repository files navigation

MyTaxi Android App

Overview

This project is a simple Android application that demonstrates the use of modern Android development practices. The app fetches the user's live location and displays it on a map with a taxi icon as a marker. The project is built using Kotlin and Jetpack Compose, following the Clean + MVI architecture, and supports both Dark and Light themes.

Figma

You can find the project prototype over here

Features

  • Live Location Tracking: The app continuously fetches the user's location using a foreground service.
  • Map Integration: The user's location is displayed on a map using Mapbox or MapLibre, with a custom taxi icon marker.
  • Data Persistence: Each location update is stored in a local database for future reference.
  • Responsive UI: The UI is designed to adapt to different screen sizes and orientations, ensuring a consistent experience across devices.
  • Theming: The app supports both Dark and Light themes, providing a seamless experience in different lighting conditions.

Tech Stack

  • Kotlin: Used for all programming logic.
  • Jetpack Compose: For building the UI components.
  • Mapbox: For map rendering and displaying the user's location.
  • Clean + MVI Architecture: Ensuring a scalable and maintainable codebase.
  • Foreground Service: To keep tracking the user's location even when the app is in the background.
  • Local Database: For storing the user's location data.

Requirements

  • Minimum Android Version: Android 7.0 (API Level 24)
  • Device Orientation: Portrait mode only

Setup Instructions

  1. Clone this repository:

    git clone https://github.com/otamurod/MyTaxi.git
    cd MyTaxi
  2. Open the project in Android Studio.

  3. Add keystore.properties gradle file at root project directory. Add your MAPBOX_DOWNLOADS_SECRET_TOKEN there

  4. Build the project and run it on an Android device or emulator.

Screenshots

Screenshot 1 Screenshot 2 Screenshot 2

Screenshot 4 Screenshot 5 Screenshot 6

About

This project is a simple Android application that demonstrates the use of modern Android development practices. The app fetches the user's live location and displays it on a map with a taxi icon as a marker. The project is built using Kotlin and Jetpack Compose, following the Clean + MVI architecture, and supports both Dark and Light themes.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages