KMM android and iOS app

The project is developed using Kotlin Multiplatform Mobile and incorporates essential libraries, including:

  • Jetpack Compose
  • SwiftUI(for iOS app)
  • Koin(DI)
  • Coroutines
  • Coil
  • Ktor
  • SQLDelight

Description:

  • UI Test: this app has ui tests on search screen

  • Unit Test: developed with TDD and the project utilizes:

    • JUnit
    • Mockk libraries
  • Configuration Handling: The app effectively manages configuration changes, ensuring a seamless user experience across different device orientations and screen sizes.

  • UI Optimization: Employing the Layout Inspector, the app meticulously fine-tunes its user interface to minimize unnecessary recomposition.

  • Keyboard Management: The app intelligently prevents keyboard overlays, ensuring that on-screen content remains fully visible and accessible during user interactions.

Project Structure:

the data and domain layer are shared and placed in shared module.see the code

Screenshot 2024-03-25 at 16 01 46

the presentation layer is on androidApp module. see the code

Screenshot 2024-03-25 at 16 04 20

Android APP:

Screenshot_1711341698 Screenshot_1711341729

Pixaby API:

for access to to the api you need an ApiKey from pixaby. you can find it in here: get API key

iOS APP:

Screenshot 2024-02-16 at 01 08 13

APK File:

you can download the apk file from here: Download File