Currently, this app uses MVVM Architecture, which is achieved with a third-party library called PreCompose.
- PreCompose for Viewmodels
- PreCompose for Navigation
- Koin for DI with PreCompose
- Kamel (Not used but if we need to load images from the internet in future versions of the app, we include it)
- SQLDelight 2.0.1 for local storage
- Ktor for API support (please follow https://github.com/gastsail/ktorExpensesApi/tree/master to start the server) also see ExpensesRepoImpl to setup the BASE_URL
Previews are only working on the Android side, currently, we include compose preview and compose uiTooling on the build.gradle (:shared) folder only for androidMain. Then inside androidApp we create a preview folder and use the Preview right there.
Since this is a compose multiplatform project, we can preview only on the Android side, but this is not a blocker since the same view will be shown on iOS.
We can create custom themes for iOS look and feel.
Feel free to add any PR that improves the app.
https://www.udemy.com/course/kotlin-multiplataforma-curso-intensivo-para-android-y-ios/
If you like this project you can leave your cup of coffee here 👇