Skip to content

Latest commit

 

History

History
50 lines (40 loc) · 2.26 KB

README.md

File metadata and controls

50 lines (40 loc) · 2.26 KB

CoinTracker

API

CoinTracker is a sample application getting data from Crypto Currency API - Coingecko via Retrofit and saving it locally via Room. Then it retrieves data from local database. Project is written in Kotlin by appling architecture pattern of MVVM. Dagger-Hilt is used for dependency injection..


Tech stack & Open-source libraries

  • Minimum SDK level 21
  • Kotlin based, Coroutines + Flow for asynchronous.
  • Dagger-Hilt (alpha) for dependency injection.
  • JetPack
    • LiveData - notify domain layer data to views.
    • Lifecycle - dispose of observing data when lifecycle state changes.
    • ViewModel - UI related data holder, lifecycle aware.
    • Room Persistence - construct a database using the abstract layer.
    • WorkManager - handle background operations
  • Architecture
    • MVVM Architecture (View - DataBinding - ViewModel - Model)
    • Repository pattern
  • Retrofit2 & OkHttp3 - construct the REST APIs and paging network data.
  • Glide - loading images.

Architecture

CoinTracker uses MVVM architecture and a repository pattern.

architecture

API

CoinTracker uses the Coin Gecko API for constructing RESTful API.
Coin Gecko API allows developers to access information about worldwide Crypto Coins.