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..
- 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.
CoinTracker uses MVVM architecture and a repository pattern.
CoinTracker uses the Coin Gecko API for constructing RESTful API.
Coin Gecko API allows developers to access information about worldwide Crypto Coins.