KmMScientists is a Kotlin multiplatform app built with swift ui, jetpack compose, koin and realm.
- Local Data Persistence with Realm
- Remote Data with KTOR
- Repository
- Use Cases
- Models
- Kotlin Parcelable Implementation
- Dependency Injection with koin on both IOS and Android
- Kotlin Flow
The backend module contains the backend code of this app. Ktor is used for building the backend with following apis
- KTOR
- Routing
- Authentication
- Locations
- KMongo
- Monitoring
- Kotlinx Serialization
- Koin
- Android UI is built with jetpack compose
- IOS UI is built with Swift ui
In order to run the app you need to have docker installed on your machine Steps:
- Download or clone the repo
- Open the repo in Intellij Idea or android studio
- Go to backend -> Scripts and run the docker compose script it will create the mongo database that the app is going to use
- One the backend is working compile and run the app
- As IOS and Android use different address to connect to local host there are two different base urls change the BASE_URL property in shared code accordingly path /shared/src/commonMain/kotlin/com/kashif/kmmscientists/data/remote/scientists_service/
- Data will be empty but you can add using postman or add it by yourself from the backend code
Platform | Screenshot |
---|---|
Android | |
Android | |
IOS | |
IOS |
- Kampkit: https://github.com/touchlab/KaMPKit
- Fantasy Premiere League: https://github.com/joreilly/FantasyPremierLeague
- Bike Share: https://github.com/joreilly/BikeShare