Skip to content

Map Visualisation is an Android project showing scooters location on a map, based on MVVM architecture

Notifications You must be signed in to change notification settings

adamdunai/map-visualisation-android

Repository files navigation

Map Visualisation

Build Status

Map Visualisation is an Android project showing scooters location on a map, based on MVVM architecture. Scooters are individual map pins on Google Maps, but they are clustered during zooming. When a pin is pressed some details of the vehicle is shown on a bottom sheet.

Showcase

Features

  • 100% Kotlin
  • MVVM architecture
  • Reactive pattern
  • Android Jetpack
  • Kotlin Coroutines + Flow
  • Dependency injection
  • CI/CD support

Tech stack

  • Android Jetpack - A collections of libraries to help developers follow best practices, reduce boilerplate code, and write code that works consistently across Android versions and devices.
    • Hilt - Extend the functionality of Dagger Hilt to enable dependency injection of certain classes from the androidx libraries.
    • Lifecycle - Lifecycle-aware components that can adjust behavior based on the current lifecycle state of an activity or fragment.
    • Room - Create, store, and manage persistent data backed by a SQLite database.
  • Retrofit - A type-safe HTTP client for Android and Java
  • Moshi - A modern JSON library for Kotlin and Java.
  • Maps SDK for Android - Add maps to your Android app using Google Maps data, map displays, and map gesture responses.
  • PermissionDispatcher - A declarative API to handle Android runtime permissions.
  • Fused Location Provider - Get location data for your app based on combined signals from the device sensors using a battery-efficient API.
  • Logcat - Tiny Kotlin API for cheap logging on top of Android's normal Log class.
  • MockK - Mocking library for Kotlin.
  • Bitrise - Mobile-first CI/CD in the cloud, for any platform.

Development setup

You need Android Studio Arctic Fox (or newer) to be able to build the app.

Code style

This project uses ktlint. Use the ktlint and ktlint-format Gradle tasks to check and format according to proper Kotlin lint rules.

API key 🔑

You will need to provide API keys to use the app.

Firstly you have to create an API key for the Maps SDK for Android. You can find information about how to gain access in the following link.

Secondly you have to own the secret key for the appropriate JSONBin.io bin.

Add the keys to the local.properties file:

# API keys
API_KEY=jsonbin_secret_key
MAPS_API_KEY=maps_api_key

About

Map Visualisation is an Android project showing scooters location on a map, based on MVVM architecture

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published