• Stars
    star
    137
  • Rank 257,541 (Top 6 %)
  • Language
    Kotlin
  • License
    Apache License 2.0
  • Created 9 months ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

This is a sample project for practicing KMP with Jetpack Compose

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"

More Repositories

1

CocktailApp

Cocktails Android App with Clean Architecture, MVVM , Retrofit, Coroutines, Navigation Components , Room, Dagger Hilt, Cache Strategy and Coroutines Flow
Kotlin
443
star
2

JetExample

Jetpack Compose UI components examples
Kotlin
218
star
3

SimpleMVP

A simple app that fetches NASA's API to return the Astronomy Picture of the Day and a live video of the ISS
Java
63
star
4

CleanFirestoreLogin

Login and Register with Clean Architecture
Kotlin
60
star
5

BlogApp

Kotlin
35
star
6

MVVMExample

A simple MVVM example on how to use ViewModel and LiveData
Kotlin
31
star
7

FirebaseCoroutinesLiveDataClean

Clean Architecture with LiveData and Coroutines
Kotlin
30
star
8

CleanArchitectureCoroutines

Clean architecture example with mvvm and coroutines
Kotlin
29
star
9

MovieApp

Kotlin
17
star
10

hzone

🩸 HZone is a Kotlin library that simplifies the implementation of a dynamic heart rate zone component. Visualize heart rate zones effortlessly based on the BPM (beats per minute) value. The library offers easy integration.
Kotlin
12
star
11

MovieCourse

Kotlin
9
star
12

FirebaseHandlingExceptions

How to handle exceptions with Firebase
Kotlin
5
star
13

NaranjaComposeDemo

Demo of jetpack compose
Kotlin
4
star
14

KotlinREST

REST API endpoint to insert, delete, update and get a list of Persons
Kotlin
3
star
15

CustomDialogs

Kotlin
3
star
16

JetNavigation

A quick example repo on navigation with compose
Kotlin
3
star
17

NavComponentsArguments

Kotlin
3
star
18

MergeAdapterAndroid

Android merge adapter example
Kotlin
3
star
19

AuthUI

Firebase Auth UI for sign in and sign out
Kotlin
2
star
20

BlogAppDemo

Demo app
Kotlin
2
star
21

MetodosNumericos

Práctica de algoritmos
C++
2
star
22

MercadoPagoIntegration

A simple mercadopago integration with Firebase (needs architecture, just for test purposes)
Kotlin
2
star
23

ViewPagerExample

App de ejemplo para usar viewpager2 con tablayout
Kotlin
2
star
24

CursoKmpApp

Kotlin
2
star
25

FirebaseSubirObtenerDatos

Este repo muestra como subir datos con Map a firebase y como obtener datos de cada nodo de toda la base de datos
Java
2
star
26

ktorExpensesApi

Kotlin
2
star
27

ClimApp

Una app que nos da el clima en donde estemos
Kotlin
2
star
28

RestApiJava

Trabajo Ingenieria Web 3
Java
1
star
29

scrapeJsonTest

Scraping json to firebase to save a cache of a database
JavaScript
1
star
30

NavigationComponentsDemo

Demo app for navigation components
Kotlin
1
star