Imagine App

An simple image gallery app utilizing Unsplash API.

Tests codecov

Built with ❤︎ by
Wajahat Karim and



  • Popular photos with pagination support
  • Quickly explore top categories like Cars, Mountains, Animals, Interior etc.
  • Search query with pagination support
  • Comes in both light and dark mode.


  • Built with Modern Android Development practices
  • Utilized Usecase, Repository pattern for data
  • Includes unit tests for Use cases, Repository, ViewModels, API Service response.

? Download Demo on Android

Download the APK file from here on your Android phone and enjoy the Demo App ?

Built With ?

  • Kotlin – First class and official programming language for Android development.
  • Coroutines – For asynchronous and more..
  • Flow – A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
  • Android Architecture Components – Collection of libraries that help you design robust, testable, and maintainable apps.
    • LiveData – Data objects that notify views when the underlying database changes.
    • ViewModel – Stores UI-related data that isn’t destroyed on UI changes.
    • ViewBinding – Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
  • Dependency Injection
    • Hilt – Easier way to incorporate Dagger DI into Android apps. This is in the main branch.
    • Dagger2 – Standard library to incorporate Dagger dependency injection into an Android application. This is in a separate dagger branch.
  • Retrofit – A type-safe HTTP client for Android and Java.
  • Material Components for Android – Modular and customizable Material Design UI components for Android.
  • Gradle Kotlin DSL – For writing Gradle build scripts using Kotlin.
  • MockK – For Mocking and Unit Testing

? Developed By

Wajahat Karim