Instructions: In app gradle file replace <YOUR_MARVEL_PRIVATE_API_KEY> and <YOUR_MARVEL_PUBLIC_API_KEY> with your respective keys.
I implemented a MvvM type architecture and utilized a clean architecture approach where the data layer is independent of all other layers, the domain layer only depends on the data layer and the presentation layer depends on the others. I particularly like this approach as it modularizes business logic and decouples it from presentation so it is easily reuseable and testable.
- Hilt - Hilt is a dependency injection library built by Google based on Dagger.
- OkHttp - OkHttp is a commonly used network client library which is easily configured and supports features such as caching.
- Retrofit - Retrofit is an easy to use, typesafe Http client. It can be used with OkHttp, works with coroutines.
- GSON - A common JSON parsing library that is supported with Retrofit adapters.
- Coroutines - Coroutines are like lightweight threads.
- Mockito - Mockito is a library to easily created mocked objects for testing.
- Coil - Coil is an image loading library that works with Jetpack Compose.