{"id":17810306,"url":"https://github.com/jarroyoesp/kotlinmultiplatform_firebase_mvvm","last_synced_at":"2025-03-17T19:31:19.629Z","repository":{"id":95502645,"uuid":"254116790","full_name":"jarroyoesp/KotlinMultiplatform_Firebase_MVVM","owner":"jarroyoesp","description":"Example of Kotlin Multiplatform app using Firebase(Firestore). Android \u0026 iOS Implementation.","archived":false,"fork":false,"pushed_at":"2020-04-20T08:16:18.000Z","size":1704,"stargazers_count":51,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-28T03:25:47.413Z","etag":null,"topics":["android","clean-architecture","firebase","firestore-database","ios","kotlin","kotlin-multiplatform","mvvm-architecture"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jarroyoesp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-08T14:49:48.000Z","updated_at":"2024-11-27T08:53:04.000Z","dependencies_parsed_at":"2023-04-16T05:05:21.739Z","dependency_job_id":null,"html_url":"https://github.com/jarroyoesp/KotlinMultiplatform_Firebase_MVVM","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarroyoesp%2FKotlinMultiplatform_Firebase_MVVM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarroyoesp%2FKotlinMultiplatform_Firebase_MVVM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarroyoesp%2FKotlinMultiplatform_Firebase_MVVM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarroyoesp%2FKotlinMultiplatform_Firebase_MVVM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jarroyoesp","download_url":"https://codeload.github.com/jarroyoesp/KotlinMultiplatform_Firebase_MVVM/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243878439,"owners_count":20362432,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","clean-architecture","firebase","firestore-database","ios","kotlin","kotlin-multiplatform","mvvm-architecture"],"created_at":"2024-10-27T15:31:47.982Z","updated_at":"2025-03-17T19:31:19.623Z","avatar_url":"https://github.com/jarroyoesp.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kotlin-Multiplatform MVVM Firebase (Android \u0026 iOS)\n![kotlin-version](https://img.shields.io/badge/kotlin-1.3.50-orange)\n\u003ca target=\"_blank\" href=\"https://androidweekly.net/issues/issue-410\"\u003e\u003cimg src=\"https://androidweekly.net/issues/issue-410/badge\"\u003e\u003c/a\u003e\n\nExample of application using Kotlin Multiplatform and MVVM pattern for both platforms (Android \u0026 iOS) and FirestoreKMP to get data from Firebase. To achieve it the libraries used are:\n\n- [FirestoreKMP](https://github.com/touchlab/FirestoreKMP): Library wrapping the Firestore SDK for Kotlin Multiplatform with clients for Android and iOS. Shared common code can run methods that get delegated to the platform specific SDKs.\n- [moko-mmvm](https://github.com/icerockdev/moko-mvvm): This is a Kotlin Multiplatform library that provides architecture components of Model-View-ViewModel for UI applications. Components are lifecycle-aware on Android.\n- [Serialization](https://github.com/Kotlin/kotlinx.serialization): to De/Serializing JSON \n- [Kodein-DI](https://github.com/Kodein-Framework/Kodein-DI): Dependency injector\n- [kotlinx.coroutines](https://github.com/Kotlin/kotlinx.coroutines): Library support for Kotlin coroutines with multiplatform support\n\n\u003cimg src=\"https://github.com/jarroyoesp/KotlinMultiplatform_Firebase_MVVM/blob/master/images/KMP_MVVM_Firebase_schema.png\"\u003e\n\n### Android App\n\n\u003cimg src=\"https://github.com/jarroyoesp/KotlinMultiplatform_Firebase_MVVM/blob/master/images/androidAppResult.png\" width=\"200\"\u003e\n\n### iOS App\n\n\u003cimg src=\"https://github.com/jarroyoesp/KotlinMultiplatform_Firebase_MVVM/blob/master/images/iOSAppResult.png\" width=\"200\"\u003e\n\nIf you want to know a bit more without checl all the code, you can take a look at this post on ProAndroidDev.com:\nhttps://proandroiddev.com/kotlin-multiplatform-firebase-mvvm-4cdcddd98893\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarroyoesp%2Fkotlinmultiplatform_firebase_mvvm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjarroyoesp%2Fkotlinmultiplatform_firebase_mvvm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarroyoesp%2Fkotlinmultiplatform_firebase_mvvm/lists"}