Marvel App
App showing a list of Marvel characters and a detail screen giving more information.
How to launch
Enter public and private api key in local.properties
public_api_key="..."
private_api_key="..."
Tech stack
- Kotlin & Coroutines
- Flow & StateFlow
- Android Jetpack
- Dagger Hilt
- ktlint
- Material Components for Android
- Coil
- Retrofit 2
- Moshi
- MockK
Architecture
Based on the recommended app architecture
- UI layer (or presentation layer): Contains UI classes (Activities and Fragments) and ViewModels.
- Domain layer: The domain layer is responsible for encapsulating complex business logic, or simple business logic that is reused by multiple ViewModels. Contains domain models and Use cases.
- Data layer: The data layer of an app contains the business logic. The business logic is what gives value to your app—it's made of rules that determine how your app creates, stores, and changes data. Contains DataSources (Remote data source, paging data source, ...), Repositories and API Calls.