https://github.com/kaushalvasava/kmp_apihandling
It is project of Consuming Rest API using Ktor Client, Navigation using PreCompose, ViewModel using Moko Viewmodel and Jetpack compose for UI development in Koltin Multi Platform.
https://github.com/kaushalvasava/kmp_apihandling
jetpack-compose jetpackcompose kmm kmp kotlin kotlin-multiplatform kotlin-multiplatform-mobile kotlin-serialization kotlinmultiplatform ktor ktor-client moko-mvvm precompose restapi
Last synced: 5 months ago
JSON representation
It is project of Consuming Rest API using Ktor Client, Navigation using PreCompose, ViewModel using Moko Viewmodel and Jetpack compose for UI development in Koltin Multi Platform.
- Host: GitHub
- URL: https://github.com/kaushalvasava/kmp_apihandling
- Owner: KaushalVasava
- Created: 2023-08-26T12:52:19.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-02-14T05:00:39.000Z (about 1 year ago)
- Last Synced: 2024-02-14T06:21:52.451Z (about 1 year ago)
- Topics: jetpack-compose, jetpackcompose, kmm, kmp, kotlin, kotlin-multiplatform, kotlin-multiplatform-mobile, kotlin-serialization, kotlinmultiplatform, ktor, ktor-client, moko-mvvm, precompose, restapi
- Language: Kotlin
- Homepage:
- Size: 113 KB
- Stars: 9
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# KMP_ApiHandling
It is a simple app where Home page shows all photos from Unplace api and FullImage page shows particular image using MVVM architecture.# Technologies used:
- Kotlin Multi Platform to Develop Apps for different platform like Android, Ios, Desktop, Web and MacOs.
- Kotlin for coding.
- Jetpack compose for UI development.
- Ktor client for API calls.
- MVVM architecture for better code reusability and management.
- Moko-Viewmodel for Viewmodel support in KMP.
- Navigation using PreCompose library.# Supported Platform
- Android
- iOS (you need a Mac)
- Desktop# Project Setup
You need to add your Unsplash API key to run this app. So first create a free developer account on Unsplash and add this app key in the AppConstants.kt file.
Guidance article ->
https://medium.com/@KaushalVasava/kotlin-multi-platform-project-setup-guide-340aae9b3bea
# Some IMP docs
- Kotlin Multi platformhttps://kotlinlang.org/docs/multiplatform.html
- Jetpack compose for UI development
https://developer.android.com/jetpack/compose?gclid=EAIaIQobChMIxsLS5tT6gAMVedlMAh3sjgGgEAAYASAAEgKU-fD_BwE&gclsrc=aw.ds
- PreCompose Navigation setup:https://github.com/Tlaster/PreCompose/blob/master/docs/setup.md
- Kamel Image loading
https://github.com/Kamel-Media/Kamel
- Ktor client for API
https://ktor.io/docs/routing-in-ktor.html
- Moko ViewModel
https://github.com/icerockdev/moko-mvvm
# Screen Recording and Screenshots

https://github.com/KaushalVasava/KMP_ApiHanding/assets/49050597/2b414a01-e40a-4a68-9664-f54408285f5d
# Support Me
If you like my work you can support me via :[](https://www.buymeacoffee.com/kaushal.developer)
# Thank you
Follow me on LinkedIn, GitHub, Twitter, Instagram, Medium and add this repo to your favorite and share with your friends and colleague.
Happy coding 😊# Author
Kaushal Vasava# Licence
Copyright 2023 Kaushal VasavaLicensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.