/-Unsplash-Grid

gallery app using PicsumApi - kotlin lang

Primary LanguageKotlin

Unsplash Grid

📜 Description

This application displays a grid of Unsplash images retrieved from a REST API. It's built following Android best practices.

Used architecture:

Model-view-viewmodel (MVVM)

App layers:

  • Presentation: using Jetpack Compose.
  • DI: using Dagger Hilt.
  • Domain: using Retrofit to handle the API calls and Retrofit-Gson for serialization and deserialization.
  • Data: mapping data from the API and implementing ImageRepository.

Used tech/tools:

  • UI: Jetpack Compose.
  • Compose Coil for managing the asynchronous image request and handling UI changes in the following UI states:
  • loading with placeholder retrieved from drawable.
  • error message in case of server connection failure.
  • success showing images.
  • Dependency injection: Dagger Hilt.
  • Android architecture components (Lifecycle, ViewModel).
  • Kotlin Flows and Coroutines.
  • Network: Retrofit and Gson.