-
/composeAppis for code that will be shared across your Compose Multiplatform applications. It contains several subfolders:commonMainis for code that’s common for all targets.- Other folders are for Kotlin code that will be compiled for only the platform indicated in the folder name.
For example, if you want to use Apple’s CoreCrypto for the iOS part of your Kotlin app,
iosMainwould be the right folder for such calls.
-
/iosAppcontains iOS applications. Even if you’re sharing your UI with Compose Multiplatform, you need this entry point for your iOS app. This is also where you should add SwiftUI code for your project. -
/serveris for the Ktor server application. -
/sharedis for the code that will be shared between all targets in the project. The most important subfolder iscommonMain. If preferred, you can add code to the platform-specific folders here too.
- Ktor for the server and http client.
- Firebase Authentication for authentication.
- Voyager for navigation.
- Exposed for database access.
- KMPAuth for client side sign in.
To run the server, you need to create a credentials.json file and place it in the server/src/main/resources folder. To create this file got to the Firebase Console -> Project Settings -> Service Accounts -> Generate new private key.
To run the Android app, you need to create a google-services.json file and place it in the composeApp/android folder. To create this file go to the Firebase Console -> Project Settings -> General -> Your apps -> Add app -> Android.
To run the iOS app, you need to create a GoogleService-Info.plist file and place it in the iosApp folder. To create this file go to the Firebase Console -> Project Settings -> General -> Your apps -> Add app -> iOS.
Learn more about Kotlin Multiplatform…