For this implementation I have used MVVM and compose. I have layered the project in data (local, remote and repository implementation), di (injection), domain(model, use cases and repository contract), ui(ViewModels, ui state and composables)
There is one app to setup hilt for di There is one activity where navigation is made by compose navigation between the composable screens
The external libraries I've used are (annotated in gradle): retrofit2 for api calls hilt for di coil for downloading and showing images room for persistent database gson for deserialization okhttp3 logging interceptor for logging api calls (used for debug)
Get API keys from https://developer.marvel.com and add them to the local properties like PUBLIC_API_KEY="..." PRIVATE_API_KEY="..."