Coder Social home page Coder Social logo

pedromalta / expenses-kmp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gastsail/expenses-kmp

0.0 0.0 0.0 1.72 MB

This is a sample project for practicing KMP with Jetpack Compose

License: Apache License 2.0

Shell 0.44% Ruby 0.20% Kotlin 95.57% Swift 3.80%

expenses-kmp's Introduction

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]

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"

expenses-kmp's People

Contributors

gastsail avatar lucasginard avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.