Ответ
Jetpack Compose, Kotlin Coroutines, Flow, Room, Retrofit, Hilt, WorkManager.
Пример слоёв:
@HiltViewModel
class UserViewModel @Inject constructor(
private val repository: UserRepository
) : ViewModel() {
val users = repository.getUsers().stateIn(
scope = viewModelScope,
started = SharingStarted.WhileSubscribed(5000),
initialValue = emptyList()
)
}
@Module
@InstallIn(SingletonComponent::class)
object AppModule {
@Provides
fun provideApi(): UserApi = Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(MoshiConverterFactory.create())
.build()
.create(UserApi::class.java)
}
Дополнительно: Coil для загрузки изображений, Firebase Analytics/Crashlytics.