Skip to content

💰 Converter demonstrates modern Android development with Dagger, Coroutines, Flow, Jetpack (Room, ViewModel), and Material Design based on MVVM architecture.

Notifications You must be signed in to change notification settings

AmazingCodingSkills/Converter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Converter

💰 Converter demonstrates modern Android development with Dagger, Coroutines, Flow, Jetpack (Room, ViewModel), and Material Design based on MVVM architecture.

The app contains 3 base screens:

  • Main screen for display latest rates. It is possible to set up a base currency to calculate the exchange rate.
    By clicking on a specific currency, you can see more details.
  • Calculator screen to convert currency pairs.
  • Settings screen with possibility share app.

Download

Go to the Releases to download the latest APK.

Tech stack & Open-source libraries

  • Minimum SDK level 24
  • Kotlin based, Coroutines + Flow for asynchronous.
  • Jetpack
    • Lifecycle: Observe Android lifecycles and handle UI states upon the lifecycle changes.
    • ViewModel: Manages UI-related data holder and lifecycle aware. Allows data to survive configuration changes such as screen rotations.
    • Room: Constructs Database by providing an abstraction layer over SQLite to allow fluent database access.
    • Dagger: for dependency injection.
  • Architecture
  • Retrofit2 & OkHttp3: Construct the REST APIs and paging network data.
  • Gson: A modern JSON library for Kotlin and Java.
  • Turbine: A small testing library for kotlinx.coroutines Flow.
  • Espresso: A testing library.
  • Mockito: A testing library.
  • JUnit4: A testing library.
  • Custom View.
  • Material-Components: Material design components.

Architecture

Modularization

The application is divided according to the principle of multimodularity, within the modules, the division into packages according to the clean architecture. image

image

Architecture Overview

Converter is based on the MVVM architecture and the Repository pattern, which follows the Google's official architecture guidance. image

Result

Application completely in Kotlin. Support for changing device configuration has been implemented, the main logic is covered by unit tests, ui is covered by UI tests.

About

💰 Converter demonstrates modern Android development with Dagger, Coroutines, Flow, Jetpack (Room, ViewModel), and Material Design based on MVVM architecture.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages