CryptoTracker is a demo Android application for tracking cryptocurrency price changes.
- Jetpack Compose (Declarative UI)
- Compose Destinations (Screen transitions)
- ViewModel (Store and manage UI-related data)
- Kotlin Flows (Handling asynchronous streams of data)
- Kotlin Coroutines (Light-weight threads)
- Hilt (Dependency injection)
- Coil (Image loading)
- Room (Abstraction layer over SQLite)
- Retrofit (HTTP client)
- Moshi (JSON parsing)
The application is designed as a single-activity app and implements the MVVM architecture, following the guidelines provided here.
The application uses two APIs to retrieve data for its features:
- CoinMarketCap API, which is used to obtain the latest market data for all active cryptocurrencies. This API provides information such as the current price, market capitalization, and volume change for each currency.
- CoinAPI, used to retrieve OHLCV data, which is then used to draw graphs for each cryptocurrency. OHLCV data provides a way to visualize the price movements of a particular asset over a specified period.
Icons by spothq