Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/QArtur99/Compose-ShoppingList
Jetpack compose shopping list app
https://github.com/QArtur99/Compose-ShoppingList
android declarative-ui jetpack jetpackcompose kotlin livedata mvi mvvm viewmodel
Last synced: 3 months ago
JSON representation
Jetpack compose shopping list app
- Host: GitHub
- URL: https://github.com/QArtur99/Compose-ShoppingList
- Owner: QArtur99
- License: mit
- Created: 2020-04-21T22:16:39.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-11-23T00:32:43.000Z (12 months ago)
- Last Synced: 2024-07-07T00:41:31.089Z (4 months ago)
- Topics: android, declarative-ui, jetpack, jetpackcompose, kotlin, livedata, mvi, mvvm, viewmodel
- Language: Kotlin
- Size: 1.05 MB
- Stars: 65
- Watchers: 4
- Forks: 14
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- Awesome-Android-Open-Source-Projects - Compose-ShoppingList
README
# Compose-ShoppingList, an amazing shopping app with interactive desing and UI.
Compose-ShoppingList is a sample project that presents a way of implementing UI components with Jetpack Compose.### Screenshots
![image](https://user-images.githubusercontent.com/25232443/81019836-c9677e00-8e67-11ea-9bab-ed997b149e21.jpg)### Used Tech
* [Kotlin](https://kotlinlang.org/)
* [MVVM](https://developer.android.com/jetpack/docs/guide)
* [Compose](https://developer.android.com/jetpack/compose) - Modern toolkit for building native UI.
* [Ambient](https://developer.android.com/reference/kotlin/androidx/compose/Ambient) - Compose passes data through the composition tree.
* [Coroutines](https://kotlinlang.org/docs/reference/coroutines-overview.html) - Provide sophisticated tools to handle concurrency.
* [Declarative UI Patterns](https://www.youtube.com/watch?v=VsStyq4Lzxo)
* [Koin](https://insert-koin.io) - Runtime framework for dependency injection.
* [Lifecycles](https://developer.android.com/topic/libraries/architecture/lifecycle) - Create a UI that automatically responds to lifecycle events.
* [LiveData](https://developer.android.com/topic/libraries/architecture/livedata) - Build data objects that notify views when the underlying database changes.
* [Room](https://developer.android.com/topic/libraries/architecture/room) - Access your app's SQLite database with in-app objects and compile-time checks.
* [Test](https://developer.android.com/training/testing/) - An Android testing framework for unit and runtime UI tests.
* [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel) - Store UI-related data that isn't destroyed on app rotations. Easily schedule asynchronous tasks.
* [ktlint](https://ktlint.github.io/) - Enforce Kotlin coding styles.### Features
* Handle back press
* Handle configuration changes
* ActionBar menu
* Drawer menu
* Add shopping lists/products
* Archive/Unarchive lists
* Delete products### Report issues
Something not working quite as expected? Do you need a feature that has not been implemented yet? Check the [issue tracker](https://github.com/QArtur99/Compose-ShoppingList/issues) and add a new one if your problem is not already listed. Please try to provide a detailed description of your problem, including the steps to reproduce it.### Contribute
Awesome! If you would like to contribute with a new feature or submit a bugfix, fork this repo and send a pull request. Please, make sure all the [unit tests](https://github.com/QArtur99/Compose-ShoppingList/tree/master/app/src/test/java/com/artf/shoppinglistcompose), [integration tests](https://github.com/QArtur99/Compose-ShoppingList/tree/master/app/src/androidTest/java/com/artf/shoppinglistcompose) & `./gradlew spotlessApply` are passing before submitting and add new ones in case you introduced new features.### How to run the project in development mode
* Clone or download repository as a zip file.
* Open project in Android Studio.
* Run 'app' `SHIFT+F10`.#### Android Studio IDE setup
Compose-ShoppingList uses [ktlint](https://ktlint.github.io/) to enforce Kotlin coding styles.
Here's how to configure it for use with Android Studio (instructions adapted from the ktlint [README](https://github.com/shyiko/ktlint/blob/master/README.md)):
* Close Android Studio if it's open
* Download ktlint using these [installation instructions](https://github.com/shyiko/ktlint/blob/master/README.md#installation)
* Inside the project root directory run: `./ktlint --apply-to-idea-project --android`
* Remove ktlint if desired: `rm ktlint`
* Start Android Studio### License
Compose-ShoppingList is released under the MIT license. See [LICENSE](./LICENSE) for details.