Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

An ImageSearch App utilizing PixaBay API to showcase modern Android development architecture (MVVM + Kotlin + Retrofit2 + Hilt + ROOM, Coroutines + Kotlin Flow + mockK + Espresso + Junit)

Notifications You must be signed in to change notification settings

iyashamihsan/AndroidTask

Repository files navigation

ImageSearch App

An simple ImageSearch App utilizing Pixabay API.

Built with ❀︎ by Yasham Ihsan

Features

  • Responsive in both Landscape and Portrait.
  • Cache result in Room.
  • Fetching Images for user input.
  • Detail screen for an Image

Architecture

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

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.
  • Room - For saving Data in local DB and to provide offline support.
  • 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

To Be Done:

  • UI tests

πŸ‘¨ Developed By

Yasham Ihsan

About

An ImageSearch App utilizing PixaBay API to showcase modern Android development architecture (MVVM + Kotlin + Retrofit2 + Hilt + ROOM, Coroutines + Kotlin Flow + mockK + Espresso + Junit)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /