Skip to content

kotlin-compose-multiplatform/GPS-APP-CMP

Repository files navigation

GPS Tracking System (Alternative to Wialon Local)

A powerful and flexible GPS tracking application built with Kotlin Compose Multiplatform, providing seamless support for both Android and iOS platforms. This app is an alternative to Wialon Local, designed for real-time tracking and monitoring of units.


Features

  • Real-time GPS Tracking
  • Unit Status Monitoring
  • Cross-Platform Support: Android and iOS
  • Lightweight and Fast
  • App support in 3 languages [Russian, English, Turkmen], default is Russian

Used Libraries

  • Google Maps expect/actual self configured for each target
  • Ktor client for api call
  • Koin for dependency injection
  • Voyager for navigation
  • Multiplatform-settings library for save data in local
  • Lyricist library for localization
  • Coil for image loading

Screenshots

Login Screen Dashboard Dashboard Dashboard Dashboard Dashboard Dashboard


Demo Video

Watch a full demonstration of the app on Google Drive:

GPS Tracking System Demo

Click the image or here to watch the demo.


Play Store

Download the app from Google Play Store


Getting Started

Prerequisites

  • Android Studio (latest version with Kotlin Multiplatform plugin)
  • Xcode (for iOS development)
  • JDK 17 or later

Installation

Step 1: Clone the Project

git clone https://github.com/kotlin-compose-multiplatform/GPS-APP-CMP
cd GPS-APP-CMP

Step 2: Configure Google Maps API Key [Optional, default key is exist in the code]

Android:

  1. Open androidApp/src/main/AndroidManifest.xml.

  2. Locate the placeholder YOUR_GOOGLE_MAPS_API_KEY and replace it with your Google Maps API key:

    xml

    Copy code

    <meta-data android:name="com.google.android.geo.API_KEY" android:value="YOUR_GOOGLE_MAPS_API_KEY" />

iOS:

  1. Open the ContentView.swift file.

  2. Update the Google Maps API key in the initialization code:

    swift

    Copy code

    GMSServices.provideAPIKey("YOUR_GOOGLE_MAPS_API_KEY")


Step 3: Update Android Release Keystore [Optional, default key is exist in the code]

  1. Replace the existing androidApp/jetbrains.jks file in the project with your own keystore file.
  2. Update the androidApp/build.gradle.kts file with your keystore credentials: signingConfigs { create("release") { keyAlias = "jetbrains" keyPassword = "changeme" storeFile = file("jetbrains.jks") storePassword = "changeme" } }

Step 4: Build and Run the Project

Android:

  1. Open the project in Android Studio.
  2. Select the desired emulator or connected device.
  3. Click Run ▶️.

iOS:

  1. Open the iosApp project in Xcode.
  2. Select a simulator (e.g., iPhone 14).
  3. Click Run ▶️.

Usage

Login Credentials:

  • Usernamedemo
  • Passworddemo2022
  1. Launch the app on your device or emulator.
  2. Enter the demo credentials on the login screen.
  3. Explore the app features.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages