dorucioclea / TrackMyPath

An Android app written in Kotlin that demonstrates a clean architecture with MVVM, Fused Location Provider, LifecycleService, and Coroutines. It is used as lab to test new Android features.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Track my path

An android app that tracks your walk with images every 100 meters:

  • images fetched from Flickr based on location
  • pictures are shown in a list, and user can scroll through the stream
  • one button start/stop, on each start the previous stream of photos gets wiped

Please create a Flickr account and use your own api key. Add it in the FlickrService file.


MVVM pattern with Clean architecture developed with Kotlin.

Clean architecture consists of three layers:

  • Data, includes data objects, databases, network clients, repositories.
  • Domain, includes use cases of business logic. This layer orchestrates the flow of data from Data Layer to Presentation and the other way.
  • Presentation, includes UI related components, such as ViewModels, Fragments, Activities.
Android Jetpack Components used:
  • Fragment
  • ViewModel
  • View Binding
  • LiveData
  • Room
  • Location
  • ActivityScenario, instrumentation testing (part of AndroidX Test)
  • Espresso (UI tests)
Libraries:
Flickr API:

Sources:


Screenshots

About

An Android app written in Kotlin that demonstrates a clean architecture with MVVM, Fused Location Provider, LifecycleService, and Coroutines. It is used as lab to test new Android features.


Languages

Language:Kotlin 100.0%