{"id":31545465,"url":"https://github.com/victorkabata/gistagram","last_synced_at":"2025-10-04T14:49:25.223Z","repository":{"id":45782716,"uuid":"451854817","full_name":"VictorKabata/Gistagram","owner":"VictorKabata","description":"GitHub/Instagram clone android and desktop application built using Kotlin","archived":false,"fork":false,"pushed_at":"2022-09-11T15:37:12.000Z","size":120315,"stargazers_count":34,"open_issues_count":1,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2023-03-06T14:57:32.484Z","etag":null,"topics":["android","apollo-client","desktop","github-api-v4","jetpack-compose","kotlin","kotlin-multiplatform","kotlinmultiplatform","ktor-client","multiplatform-settings","realm-kotlin","sqldelight","swiftui"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VictorKabata.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-01-25T11:44:22.000Z","updated_at":"2023-03-04T21:30:54.000Z","dependencies_parsed_at":"2022-09-14T22:21:34.990Z","dependency_job_id":null,"html_url":"https://github.com/VictorKabata/Gistagram","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/VictorKabata/Gistagram","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VictorKabata%2FGistagram","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VictorKabata%2FGistagram/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VictorKabata%2FGistagram/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VictorKabata%2FGistagram/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VictorKabata","download_url":"https://codeload.github.com/VictorKabata/Gistagram/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VictorKabata%2FGistagram/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278328163,"owners_count":25968899,"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","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","apollo-client","desktop","github-api-v4","jetpack-compose","kotlin","kotlin-multiplatform","kotlinmultiplatform","ktor-client","multiplatform-settings","realm-kotlin","sqldelight","swiftui"],"created_at":"2025-10-04T14:49:19.752Z","updated_at":"2025-10-04T14:49:25.207Z","avatar_url":"https://github.com/VictorKabata.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gistagram\n## Work in Progress🔨 - [Develop Branch](https://www.youtube.com/watch?v=dQw4w9WgXcQ)\n\n GitHub/Instagram clone android and desktop application built using Kotlin.\n\n## Prerequisite\n\n// ToDo\n\n## Project Structure\n\n// ToDo\n\n## Libraries\n\n### __Shared__\n\n- [Koin](https://insert-koin.io/docs/setup/v3.1) - Kotin dependency injection library with multiplatform support.\n- [Ktor](https://ktor.io/docs/http-client-multiplatform.html) - Provides multiplatform libraries required to make network calls to the REST API.\n- [SQLDelight](https://cashapp.github.io/sqldelight/multiplatform_sqlite/) - Cross-Platform database library\n- [Realm](https://github.com/realm/realm-kotlin) - Caching of application data from network responses.\n- [Multiplatform Settings](https://github.com/russhwolf/multiplatform-settings) - This is a Kotlin library for Multiplatform apps, so that common code can persist key-value data.\n- [kotlinx.coroutines](https://github.com/Kotlin/kotlinx.coroutines) - Library support for Kotlin coroutines with multiplatform support.\n- [kotlinx.serialization](https://github.com/Kotlin/kotlinx.serialization) - Provides sets of libraries for various serialization formats eg. JSON, protocol buffers, CBOR etc.\n- [kotlinx.datetime](https://github.com/Kotlin/kotlinx-datetime) - A multiplatform Kotlin library for working with date and time.\n- [Napier](https://github.com/AAkira/Napier) -  Logging library for Kotlin Multiplatform.\n- [Mockk](https://github.com/mockk/mockk) - Library for creating mocks for tests.\n\n\n### iOS\n- [SwiftUI](https://developer.apple.com/xcode/swiftui/) - SwiftUI is Apple's brand new declarative UI Toolkit for building user interfaces for iOS, tvOS, macOS, and watchOS.\n- [SDWeb Image](https://github.com/SDWebImage/SDWebImageSwiftUI) - SwiftUI Image loading framework.\n- [KMP Async](https://github.com/rickclephas/KMP-NativeCoroutines) - A library to use kotlin coroutines in Swift.\n- [Cocoa Pods](https://cocoapods.org/) - CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects.\n\n### Android\n\n- [Jetpack Compose](https://developer.android.com/jetpack/compose?gclid=Cj0KCQiA95aRBhCsARIsAC2xvfwC4pw6JG3r8U_4zVVSzwfCSIMMM8MKPMGAOTRoMjpkfpimPVz1FwoaAqlUEALw_wcB\u0026gclsrc=aw.ds) - Modern toolkit for building native UI.\n- [Coil](https://coil-kt.github.io/coil/) - An image loading library for Android backed by kotlin coroutines.\n\n### __Plugins__\n\n- [KtLint](https://github.com/JLLeitschuh/ktlint-gradle) - This plugin creates convenient tasks in\n  your Gradle project that run ktlint checks or do code auto format.\n- [Detekt](https://github.com/detekt/detekt) - A static code analysis tool for the Kotlin\n  programming language.\n- [Gradle Versions Plugin](https://github.com/ben-manes/gradle-versions-plugin) - This plugin\n  provides a task to determine which dependencies have updates.\n\n# Screenshots\n\n## Android\n\n\u003cimg src=\"assets/img1.png\" width=\"250\"\u003e \u003cimg src=\"assets/img2.png\" width=\"250\"\u003e \u003cimg src=\"assets/img3.png\" width=\"250\"\u003e \u003cimg src=\"assets/img4.png\" width=\"250\"\u003e \u003cimg src=\"assets/img5.png\" width=\"250\"\u003e\n\n## iOS\n\n\u003cimg src=\"assets/img13.png\" width=\"250\"\u003e \u003cimg src=\"assets/img9.png\" width=\"250\"\u003e \u003cimg src=\"assets/img11.png\" width=\"250\"\u003e \u003cimg src=\"assets/img10.png\" width=\"250\"\u003e \u003cimg src=\"assets/img12.png\" width=\"250\"\u003e\n\n## Desktop\n\n\u003cimg src=\"assets/img6.png\" width=\"800\"\u003e \u003cimg src=\"assets/img7.png\" width=\"800\"\u003e \u003cimg src=\"assets/img8.png\" width=\"800\"\u003e\n\n## Sample Projects\n\n1. [Notflix](https://github.com/VictorKabata/Notflix) - An android and desktop app built using Kotlin Multiplatforom that consumes TMDB API to display current trending, upcoming and popular movies🍿 and tvshows🎬.\n\n## Learning Resources\n\n1. [Official intro to Kotlin Multiplatform](https://kotlinlang.org/docs/multiplatform.html)\n2. [Migrating to Kotlin DSL](https://evanschepsiror.medium.com/migrating-to-kotlin-dsl-4ee0d6d5c977) medium article by [Chepsi](https://twitter.com/_Chepsi?s=20\u0026t=UaWQD6SYSIJ-TNnFzPBuBw).\n3. [Make your Android application work on iOS](https://kotlinlang.org/docs/multiplatform-mobile-integrate-in-existing-app.html)tutorial.\n4. [CocoaPods overview and setup](https://kotlinlang.org/docs/native-cocoapods.html) tutorial.\n5. [Creating a cross-platform mobile application](https://ktor.io/docs/getting-started-ktor-client-multiplatform-mobile.html)official tutorial by the Ktor team.\n6. [Using Koin in a Kotlin Multiplatform Project](https://johnoreilly.dev/posts/kotlinmultiplatform-koin/) article by [John O'Reilly](https://twitter.com/joreilly?s=20\u0026t=T4SvCGuw53K_k1Lizc6VkQ).\n7. GitHub README on [creating compose multiplatform desktop application](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Getting_Started)\n8. [GitHub Repository Template](https://github.com/wangerekaharun/GradleBuildPlugins) showcasing how to setup a gradle plugins by [Harun Wangereka](https://twitter.com/wangerekaharun?s=20\u0026t=UaWQD6SYSIJ-TNnFzPBuBw).\n9. [Official SQLDelight KMP Documentation](https://cashapp.github.io/sqldelight/multiplatform_sqlite/) on getting started with [SQLDelight](https://github.com/cashapp/sqldelight).\n10. [Getting started with Compose Multiplatform](https://www.jetbrains.com/lp/compose-mpp/).\n11. [Developing UI: Compose Multiplatform](https://www.raywenderlich.com/books/kotlin-multiplatform-by-tutorials/v1.0/chapters/5-developing-ui-compose-multiplatform) article by [Raywenderlich](https://www.raywenderlich.com/).\n12. [Wrapping Kotlin Flow with Swift Combine Publisher in a Kotlin Multiplatform project](https://johnoreilly.dev/posts/kotlinmultiplatform-swift-combine_publisher-flow/) by [John O'Reilly](https://twitter.com/joreilly?s=20\u0026t=T4SvCGuw53K_k1Lizc6VkQ).\n13. [T-shaping for iOS Developers with Kotlin Multiplatform in 4 hours!](https://www.notion.so/T-shaping-for-iOS-Developers-with-Kotlin-Multiplatform-in-4-hours-87d2ea5884214e3297113da9c0912b2d)\n    .\n14. [Kotlin Multiplatform Mobile: what is it and when should you use it?](https://www.kinandcarta.com/en/insights/2022/01/what-is-kotlin-multiplatform-mobile-and-when-should-i-use-it/)\n    blog post.\n15. [Introduction to Kotlin Multiplatform Mobile - Getting Started](https://betterprogramming.pub/introduction-to-kotlin-multiplatform-mobile-part-i-333af55741af) article.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvictorkabata%2Fgistagram","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvictorkabata%2Fgistagram","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvictorkabata%2Fgistagram/lists"}