https://github.com/victorkabata/kotlin-multiplatform-template
A Kotlin Multiplatform project template
https://github.com/victorkabata/kotlin-multiplatform-template
compose-desktop compose-multiplatform koin kotlin kotlin-multiplatform kotlin-multiplatform-template kotlinx-coroutines kotlinx-datetime ktor multiplatform-settings napier
Last synced: 9 days ago
JSON representation
A Kotlin Multiplatform project template
- Host: GitHub
- URL: https://github.com/victorkabata/kotlin-multiplatform-template
- Owner: VictorKabata
- Created: 2022-05-29T14:58:57.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-28T14:35:14.000Z (about 1 year ago)
- Last Synced: 2024-07-29T12:36:52.455Z (about 1 year ago)
- Topics: compose-desktop, compose-multiplatform, koin, kotlin, kotlin-multiplatform, kotlin-multiplatform-template, kotlinx-coroutines, kotlinx-datetime, ktor, multiplatform-settings, napier
- Language: Kotlin
- Homepage:
- Size: 184 KB
- Stars: 41
- Watchers: 5
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Kotlin-Multiplatform-Template
A [kotlin multiplatform](https://kotlinlang.org/docs/multiplatform.html) project template.
## Prerequisite
### Desktop
To run the desktop sample application run the gradle command:
```bash
./gradlew :app-desktop:run
```## Project Structure
// ToDo
## Libraries
### __Shared__
- [Koin](https://insert-koin.io/docs/setup/v3.1) - Kotlin dependency injection library with multiplatform support.
### Android
- [Jetpack Compose](https://developer.android.com/jetpack/compose?gclid=Cj0KCQiA95aRBhCsARIsAC2xvfwC4pw6JG3r8U_4zVVSzwfCSIMMM8MKPMGAOTRoMjpkfpimPVz1FwoaAqlUEALw_wcB&gclsrc=aw.ds) - Modern toolkit for building native UI.
- [Coil](https://coil-kt.github.io/coil/) - An image loading library for Android backed by kotlin coroutines.### __Plugins__
- [KtLint](https://github.com/JLLeitschuh/ktlint-gradle) - This plugin creates convenient tasks in
your Gradle project that run ktlint checks or do code auto format.
- [Detekt](https://github.com/detekt/detekt) - A static code analysis tool for the Kotlin
programming language.
- [Gradle Versions Plugin](https://github.com/ben-manes/gradle-versions-plugin) - This plugin
provides a task to determine which dependencies have updates.## Sample Projects
1. [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🎬.
## Learning Resources
1. [Official intro to Kotlin Multiplatform](https://kotlinlang.org/docs/multiplatform.html)
2. [Migrating to Kotlin DSL](https://evanschepsiror.medium.com/migrating-to-kotlin-dsl-4ee0d6d5c977) medium article by [Chepsi](https://twitter.com/_Chepsi?s=20&t=UaWQD6SYSIJ-TNnFzPBuBw).
3. [Make your Android application work on iOS](https://kotlinlang.org/docs/multiplatform-mobile-integrate-in-existing-app.html)tutorial.
4. [CocoaPods overview and setup](https://kotlinlang.org/docs/native-cocoapods.html) tutorial.
5. [Creating a cross-platform mobile application](https://ktor.io/docs/getting-started-ktor-client-multiplatform-mobile.html)official tutorial by the Ktor team.
6. [Using Koin in a Kotlin Multiplatform Project](https://johnoreilly.dev/posts/kotlinmultiplatform-koin/) article by [John O'Reilly](https://twitter.com/joreilly?s=20&t=T4SvCGuw53K_k1Lizc6VkQ).
7. GitHub README on [creating compose multiplatform desktop application](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Getting_Started)
8. [GitHub Repository Template](https://github.com/wangerekaharun/GradleBuildPlugins) showcasing how to setup a gradle plugins by [Harun Wangereka](https://twitter.com/wangerekaharun?s=20&t=UaWQD6SYSIJ-TNnFzPBuBw).
9. [Official SQLDelight KMP Documentation](https://cashapp.github.io/sqldelight/multiplatform_sqlite/) on getting started with [SQLDelight](https://github.com/cashapp/sqldelight).
10. [Getting started with Compose Multiplatform](https://www.jetbrains.com/lp/compose-mpp/).
11. [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/).
12. [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&t=T4SvCGuw53K_k1Lizc6VkQ).
13. [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)
.
14. [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/)
blog post.
15. [Introduction to Kotlin Multiplatform Mobile - Getting Started](https://betterprogramming.pub/introduction-to-kotlin-multiplatform-mobile-part-i-333af55741af) article.## Work In Progress
- [x] Update README
- [ ] Create sample projects - Work In Progress