GithubHelp home page GithubHelp logo

vitaliybelyaev / wishapp Goto Github PK

View Code? Open in Web Editor NEW
13.0 2.0 1.0 1.63 MB

Kotlin Multiplatform(Android + iOS) app for tracking and share wishes written with SQLDelight, Jetpack Compose and SwiftUI..

License: Apache License 2.0

Kotlin 80.46% Ruby 0.49% Swift 19.06%
jetpack-compose sqldelight compose-navigation jetpack-android hilt-android android kotlin kotlin-coroutines material-you material3

wishapp's Introduction

Wishapp / Хотелки

https://wishapp.info/

Get it on Google Play Download on the App Store

Multiplatform app for tracking wishes with ability to share wish list with other person in text format.
You can also group your wishes with labels and share wishes by the label.

Written with Kotlin Multiplatform for Android and iOS platforms.

Wishes and labels stored in SQLite database through SQLDelight, that placed in shared module and used by both Android and iOS apps.

For access Flows from shared module in iOS app was used KMP-NativeCoroutines library with Swift Combine.

Kotlin Multiplatform stack and libs:

Android app

android_1 android_2 android_3 android_4

Fully written with Jetpack Compose with Material You(Material 3) theming and dynamic colors support for Android 12 and higher.

Tech stack:

  • Jetpack Compose
  • Material You
  • MVVM (Android ViewModel)
  • Jetpack Navigation for Compose
  • Hilt
  • Kotlin Coroutines
  • Google Drive API for backup and restore user data

iOS app

ios_1 ios_2 ios_3 ios_4

Written with SwiftUI with using new version of NavigationStack with NavPath values and persisting NavPath after app relaunch.

Tech stack:

  • SwiftUI
  • Combine
  • MVVM

wishapp's People

Contributors

vitaliybelyaev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

spuller125

wishapp's Issues

TopAppBar elevation on programmatically scroll

I was read the article on habr about scrolling LazyList by it's state and saw bug with TopAppBar elevation changes on programmatically scroll.
Android 13, Sony Xperia 5 III.

  1. If the first tag is not fully visible, then after focus LazyList is scroll to it, but elevation doesn't reset to 0. For reset elevation required manually scroll to position higher the first tag (stretch the LazyColumn).
  1. If the first tag fully visible and after focused at the last tag and keyboard showing, the elevation of TopAppBar doesn't sets. Besides the isScrollInInitialState behavior becomes strange. After manually scrolling elevation is applied, but it reset is happening earlier than first tag is visible, on "initial" list position after keyboard showing.

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.