├── shared ├── core │ ├── .gitignore │ ├── consumer-rules.pro │ ├── src │ │ └── commonMain │ │ │ └── kotlin │ │ │ └── com │ │ │ └── adnan │ │ │ └── core │ │ │ ├── Error.kt │ │ │ └── Result.kt │ ├── proguard-rules.pro │ └── build.gradle.kts ├── data │ ├── .gitignore │ ├── consumer-rules.pro │ ├── src │ │ └── commonMain │ │ │ └── kotlin │ │ │ └── com │ │ │ └── adnan │ │ │ └── data │ │ │ ├── util │ │ │ ├── Constant.kt │ │ │ └── KtorLogger.kt │ │ │ ├── api │ │ │ ├── ApiService.kt │ │ │ ├── model │ │ │ │ └── RepoApiModel.kt │ │ │ └── ApiServiceImpl.kt │ │ │ ├── repository │ │ │ ├── HomeRepository.kt │ │ │ └── HomeRepositoryImpl.kt │ │ │ ├── model │ │ │ └── RepoDataModel.kt │ │ │ └── di │ │ │ └── DataModule.kt │ ├── proguard-rules.pro │ └── build.gradle.kts ├── di │ ├── .gitignore │ ├── consumer-rules.pro │ ├── src │ │ └── commonMain │ │ │ └── kotlin │ │ │ └── com │ │ │ └── adnan │ │ │ └── di │ │ │ └── UtilModules.kt │ ├── proguard-rules.pro │ └── build.gradle.kts ├── domain │ ├── .gitignore │ ├── consumer-rules.pro │ ├── src │ │ └── commonMain │ │ │ └── kotlin │ │ │ └── com │ │ │ └── adnan │ │ │ └── domain │ │ │ ├── util │ │ │ └── UseCase.kt │ │ │ ├── model │ │ │ └── RepoDomainModel.kt │ │ │ ├── di │ │ │ └── DomainModule.kt │ │ │ └── usecase │ │ │ └── GetSearchRepoUseCase.kt │ ├── proguard-rules.pro │ └── build.gradle.kts ├── src │ ├── androidMain │ │ └── kotlin │ │ │ └── com │ │ │ └── adnan │ │ │ └── app │ │ │ ├── Main.android.kt │ │ │ └── di │ │ │ └── Util.kt │ ├── commonTest │ │ └── kotlin │ │ │ └── com │ │ │ └── adnan │ │ │ └── app │ │ │ └── Test.kt │ ├── iosMain │ │ └── kotlin │ │ │ └── com │ │ │ └── adnan │ │ │ └── app │ │ │ ├── main.ios.kt │ │ │ └── di │ │ │ └── Util.kt │ ├── androidUnitTest │ │ └── kotlin │ │ │ └── com │ │ │ └── adnan │ │ │ └── app │ │ │ └── Test.android.kt │ ├── iosTest │ │ └── kotlin │ │ │ └── com │ │ │ └── adnan │ │ │ └── app │ │ │ └── Test.ios.kt │ └── commonMain │ │ └── kotlin │ │ └── com │ │ └── adnan │ │ └── app │ │ ├── navigation │ │ └── Navigation.kt │ │ ├── presentation │ │ ├── di │ │ │ └── FeatureModule.kt │ │ ├── home │ │ │ ├── widget │ │ │ │ ├── ShowShimmerMovies.kt │ │ │ │ ├── CoilImage.kt │ │ │ │ ├── ShowRepos.kt │ │ │ │ ├── Snackbar.kt │ │ │ │ ├── ShimmerRectangle.kt │ │ │ │ ├── ErrorWidget.kt │ │ │ │ ├── SearchTopAppBar.kt │ │ │ │ ├── ShimmerItem.kt │ │ │ │ ├── EmptyWidget.kt │ │ │ │ ├── ShimmerLoading.kt │ │ │ │ └── RepoItem.kt │ │ │ ├── HomeScreen.kt │ │ │ └── HomeViewModel.kt │ │ ├── model │ │ │ └── RepoUiModel.kt │ │ └── util │ │ │ └── Constant.kt │ │ ├── di │ │ ├── ProvideModules.kt │ │ └── Util.kt │ │ └── App.kt └── build.gradle.kts ├── gradle ├── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties └── libs.versions.toml ├── iosApp ├── iosApp │ ├── Assets.xcassets │ │ ├── Contents.json │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ ├── iOSApp.swift │ ├── ContentView.swift │ └── Info.plist └── iosApp.xcodeproj │ └── project.pbxproj ├── androidApp ├── src │ ├── main │ │ └── res │ │ │ └── values │ │ │ └── styles.xml │ └── androidMain │ │ ├── kotlin │ │ └── com │ │ │ └── adnan │ │ │ └── app │ │ │ └── android │ │ │ └── MainActivity.kt │ │ └── AndroidManifest.xml └── build.gradle.kts ├── .gitignore ├── gradle.properties ├── settings.gradle.kts ├── README.md ├── gradlew.bat └── gradlew /shared/core/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /shared/data/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /shared/di/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /shared/di/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /shared/core/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /shared/data/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /shared/domain/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /shared/domain/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adnan9011/github-search/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /iosApp/iosApp/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } -------------------------------------------------------------------------------- /androidApp/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 |