Skip to content

gastsail/expenses-KMP

Repository files navigation

App

🍎iOS

🍎 Screenshots (DarkMode)

🤖Android

🤖Screenshots (DarkMode)

App Architecture

Currently, this app uses MVVM Architecture, which is achieved with a third-party library called PreCompose.

Libraries

  • 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

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.

Explanation Video

Video

Feel free to add any PR that improves the app.

Full Udemy Course [Spanish]

Want to learn how to build this app from scratch ? 👇

https://www.udemy.com/course/kotlin-multiplataforma-curso-intensivo-para-android-y-ios/

Support the project

If you like this project you can leave your cup of coffee here 👇

"Buy Me A Coffee"