Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/joreilly/BikeShare

SwiftUI, Jetpack Compose, and Compose for Desktop based Kotlin Multiplatform project (using CityBikes API http://api.citybik.es/v2/). Uses Realm for local persistence
https://github.com/joreilly/BikeShare

android citybikes-api ios jetpack-compose koin kotlin kotlin-coroutines kotlin-multiplatform kotlin-multiplatform-mobile kotlin-native kotlinx-serialization ktor macos mvvm realm realm-kotlin swift swiftui viewmodel wasm

Last synced: 3 months ago
JSON representation

SwiftUI, Jetpack Compose, and Compose for Desktop based Kotlin Multiplatform project (using CityBikes API http://api.citybik.es/v2/). Uses Realm for local persistence

Lists

README

        

# BikeShare

![kotlin-version](https://img.shields.io/badge/kotlin-1.9.20-blue)

Jetpack Compose and SwiftUI based Kotlin Multiplatform sample project (based on [CityBikes API](http://api.citybik.es/v2/)).

Running on
* iOS (SwiftUI)
* Android (Jetpack Compose)
* Desktop (Compose for Desktop)
* Web (Wasm based Compose for Web)
* Swift Executable Package

Related posts:
* [Using SwiftUI and Compose to develop App Widgets on iOS and Android](https://johnoreilly.dev/posts/ios-android-widget-kmp/)
* [Bridging the gap between Swift 5.5 concurrency and Kotlin Coroutines with KMP-NativeCoroutines](https://johnoreilly.dev/posts/kmp-native-coroutines/)
* [Creating a Swift command line app that consumes Kotlin Multiplatform code - Part 2](https://johnoreilly.dev/posts/swift-command-line-kotlin-multiplatform-part2/)

Screenshot 2022-12-24 at 15 16 22

![BikeShare Screenshot](/art/screenshot_ios_swiftui.png?raw=true )

Screenshot 2023-12-02 at 15 01 25

Screenshot 2023-12-02 at 14 10 34

### Building

Need to use at least Android Studio Arctic Fox to build/run the Android client.

Requires Xcode 13.2 or later (due to use of new Swift 5.5 concurrency APIs). When opening iOS project remember to open `.xcworkspace` file (and not `.xcodeproj` one)

### Compose for Desktop client

This client is available in `compose-desktop` module. Note that you need to use appropriate version of JVM when running (works for example with Java 11)

Note that this makes use of https://github.com/Shusshu/android-flags for flag images shown.