Skip to content
Mojtaba shafaei edited this page Dec 31, 2022 · 2 revisions

ImageFinder

A Kotlin-based Android application for finding Images by their names.

  • The search action is completely reactive
  • Improved to call the minimum API calls
  • Improved to prevent the UI over drawing.

Thanks PixaBay for their API services.


Used Libraries and Technologies:

  • MVVM and Rx Java2 (MvRx + mvi)
  • androidx.navigation
  • Retrofit2
  • RxJava2
  • Coroutines
  • OkHttp3
  • Gson
  • Glide
  • Dependency Injection
    • Koin
    • Hilt
  • JUnit4
  • OkHttp-MockWebServer

Branches:

  • Master: Since 31/12/2022 is deprecated and never gets updates, please use one of the below ones.
  • rxjava-hilt:
    • this branch will not get any update
    • Google-Hilt
    • RxJava2
  • rxjava-koin:
    • this branch will not get any update; this is the most stable version till 31/12/2022
    • Koin
    • RxJava2
  • coroutines-koin:
    • this is not completed yet, but, I'm writing unit and ui tests in this branch
    • Koin
    • Kotlin Coroutines
    • Mvi Architecture
    • Junit5
    • turbine
    • mockk
    • Kotest
    • Espresso

For Accessing to PixaBay WebServer, You Need a key.

Get your own from: https://pixabay.com/api/docs/ (To protect my Pixabay account, I can not share my key here ;) But for reviewing the UI of the application, you can download the embedded apk.)

And Place it in [root project folder\buildSrc\src\main\java]\Congig.kt Same as below:
const val API_KEY = "place your api key here..."

Screen

mobile1 mobile2 tablet1

Install

You can find and install the .apk file in each branch's apks directory. e.g. [app/apks/imagefinder-rxjava-koin.apk]