# Stocks Widget [![Android](https://github.com/premnirmal/StockTicker/workflows/Android/badge.svg)](https://github.com/premnirmal/StockTicker/actions) [![Unit tests](https://github.com/premnirmal/StockTicker/workflows/Run%20unit%20tests/badge.svg)](https://github.com/premnirmal/StockTicker/actions) [![Detekt](https://github.com/premnirmal/StockTicker/workflows/Detekt/badge.svg)](https://github.com/premnirmal/StockTicker/actions) [![iOS](https://github.com/premnirmal/StockTicker/workflows/iOS/badge.svg)](https://github.com/premnirmal/StockTicker/actions) Get it on Google Play Available on the App Store Get it on F-Droid ## App features - A home screen widget that shows your stock portfolio in a resizable grid - Stocks can be sorted by dragging and dropping the list - Only performs automatic fetching of stocks during trading hours - Displays price change and summary alerts ## Kotlin Multiplatform This project has been migrated to Kotlin Multiplatform (KMP) with shared Compose Multiplatform UI, so Android and iOS run from one shared codebase. Platform-agnostic code and the shared in-app screens live in the `:shared` module (`androidTarget` + iOS targets), with thin platform shells in `:app` (Android) and `iosApp` (iOS). See [MULTIPLATFORM.md](MULTIPLATFORM.md) for the module layout and the history of the migration. The iOS app is a thin SwiftUI shell that hosts the same shared Compose Multiplatform UI as Android, plus a native WidgetKit home-screen widget. It shares the full business logic (networking, persistence, preferences, background refresh) and the in-app screens (watchlist, trending, search, quote detail, settings) with Android via the `:shared` module. See [`iosApp/README.md`](iosApp/README.md) for build instructions. ## Screenshots ![](https://play-lh.googleusercontent.com/R9khJ5kNzXHUjO4BxNw1cNKTx62grZ7FtLRT_F2H0BhC99iuMWDxvuGTYvyydtqE3w=h400-rw) ## License GPL ### Author [Prem Nirmal](http://premnirmal.me/)