An open API service indexing awesome lists of open source software.

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.

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 platform

https://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
![image](https://github.com/KaushalVasava/KMP_ApiHanding/assets/49050597/06ea0eed-f315-4408-ba98-4adcf403af6a)

![Screenshot 2023-08-26 205423](https://github.com/KaushalVasava/KMP_ApiHanding/assets/49050597/0101edc7-b32b-40ef-8998-78f188a70a38)

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 :

[![buymecoffee1 (2)](https://github.com/KaushalVasava/Tasks/assets/49050597/327844b7-b9a4-4c5d-beb7-e9e177c82880)](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 Vasava

Licensed 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 at

http://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.