Crypto Tracker is a native Android application that allows users to fetch and view information about available cryptocurrencies.
Below is the app architecture used in Crypto Tracker:
The app follows Clean Architecture principles to ensure separation of concerns, maintainability, and testability.
- Presentation Layer: Contains UI components built with Jetpack Compose, and ViewModels for managing UI state.
- Domain Layer: Contains business logic, including use cases and domain models.
- Data Layer: Manages data sources (API and local database) and handles data operations.
- Programming Language: Kotlin
- Architecture: Clean Architecture (MVVM with UDF pattern)
- Network: Retrofit
- Dependency Injection: Hilt
- Asynchronous Programming: Coroutines and Flows
- UI: Jetpack Compose
- Testing: JUnit, Mockk
- Data Storage: Room Database