Practice KMM (Kotlin Multiplatform Mobile).
This project is made to practice KMM (Kotlin Multiplatform Mobile).
I use Rest API from Unsplash API for the data source.
I made it with Clean architecture, Design Pattern, Networking using Ktor, Reactive Programming using Coroutines Flow for Android and Combine for iOS, Dependency Injection using Koin, and many things.
Thank you very much :)
- MacOS (for XCode)
- Android Studio (Recommended Android Studio Chipmunk)
- Kotlin 1.6.20
- XCode (Recommended XCode 13.3.1)
- Cocoapods
- Unsplash Access Key
- Clone or Download and Open it into Android Studio
https://github.com/dinopriyano/Unplash-Mobile
- Install Cocoapods
brew install cocoapods
-
Register or login to Unsplash Developer Page For the tutorial, read here
-
Put ur Unsplash Access Key and Secret Key on
local.properties
unplashAccessKey=PUT_UR_ACCESS_KEY_HERE
unplashSecretKey=PUT_UR_SECRET_KEY_HERE
- Run iOS App
- Open /unplash-ios/unplash-ios.xcworkspace with XCode
- Then run
pod install
using terminal - Last, you can build the project
- Get Photos
- MVVM (Model-View-ViewModel) Design Pattern
- Clean Architecture (data, domain, presentation)
- Dependency Injection with Koin
- Coroutines Flow
- Combine
- Jetpack Compose
- Safe Loging with Kermit
Copyright (C) Dino Priyano
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.