Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/manuelduarte077/notekmm
https://github.com/manuelduarte077/notekmm
Last synced: 2 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/manuelduarte077/notekmm
- Owner: manuelduarte077
- Created: 2023-06-09T05:51:10.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-07-12T08:01:39.000Z (over 1 year ago)
- Last Synced: 2024-11-16T18:35:51.515Z (2 days ago)
- Language: Kotlin
- Size: 755 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# About The App
This is New Kotlin Multiplatform Multiverse(KMM) Note App. Which work as a Native App on both
platfrom(ios/Android).In [KMM](https://kotlinlang.org/docs/multiplatform-mobile-getting-started.html), Project is Devided
in 3 main Module.1. Android App
with [Jetpack Compose(Kotlin)](https://developer.android.com/jetpack/compose/tutorial?gclid=Cj0KCQjwxMmhBhDJARIsANFGOStPh7YOhBtFQyU3ILofDIjPxYDfbZmn59vEFwi9er06EG8tu9WryIwaAnDhEALw_wcB&gclsrc=aw.ds)
.2. ios App with [SwiftUI](https://developer.apple.com/tutorials/swiftui)(Swift).
3. [Shared Module](https://kotlinlang.org/docs/multiplatform-mobile-understand-project-structure.html#shared-module)
, Common Shared logic in Kotlin Language.Built
With : [Kotlin Multiplatform Multiverse- KMM](https://kotlinlang.org/docs/multiplatform-mobile-getting-started.html)
,
[MVVM](https://developer.android.com/topic/libraries/architecture/viewmodel?gclid=CjwKCAjw5dqgBhBNEiwA7PryaEGGNXBuF_269i5vAml9SedixRgYXYfktdB8NOZm__qJWmdN6hpUahoC2IQQAvD_BwE&gclsrc=aw.ds#kotlin_1)
,
[SqlDelight](https://kotlinlang.org/docs/multiplatform-mobile-ktor-sqldelight.html)
,[Dagger Hilt](https://developer.android.com/training/dependency-injection/hilt-android) with
Proper [NavigationUI](https://developer.android.com/guide/navigation/navigation-getting-started).# Demo
## Screenshot
![Notes](demo/ListNote.png) | ![Edit](demo/EditNote.png) | ![Create](demo/CreateNote.png)
-----------------------------------|----------------------------| ------------------------------------
Notes | Edit | Create Note# Set Up For KMM Projects
1. Goto `Android Studio` > `Setting` > `Plugins` > add `Kotlin Multiplatform Mobile`
and `Restart the Android Studio`.
2. `Download` and make `Xcode` ready for use.
3. Set
Up [`K-Doctor`](https://kotlinlang.org/docs/multiplatform-mobile-setup.html#check-your-environment)Using Command `brew install kdoctor`
4. Create new Project `select Kotlin Multiplatform Mobile` from botton and name the app for both
platform.# Set Up Shared Gradle file
1. In Common Main Section
```kotlin
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")implementation("com.squareup.sqldelight:runtime:1.5.5")
implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.4.0")}
```2. In Android Main Section
```kotlin
dependencies {
implementation("com.squareup.sqldelight:android-driver:1.5.5")
}```
3. In IOS Main Section
```kotlin
dependencies {
implementation("com.squareup.sqldelight:native-driver:1.5.5")
}
```4. [Set Up Your Android Main App Gradle File.](androidApp/build.gradle.kts)
### Shared Module for ios/android in kotlin.
1. create Database Class.
2. create database Factory class
3. create common shared logic.
4. create database access objcet(DAO).
5. develop business logic which gives common output.### Jetpack copose for android
create UI and ViewModel to get ata FroData from shared Module.
Utilise Data coming from Dataase.### Use SwiftUi for IOS app
import shared module in all classes in ios
handle database response and errors.