An Android application that integrates Jetpack components to help keep track of items needed when shopping
Shopping List
Introduction
An Android application that integrates the Android Jetpack components to help keep track of items needed when shopping.
Architecture
The architecture of this application relies and complies with the following points below:
- A single-activity architecture, using the Navigation Components to manage fragment operations.
- Pattern Model-View-ViewModel(MVVM) which facilitates a separation of development of the graphical user interface.
- Android architecture components which help to keep the application robust, testable, and maintainable.
Technologies used:
- ViewModel to store and manage UI-related data in a lifecycle conscious way.
- LiveData to handle data in a lifecycle-aware fashion.
- Navigation Component to handle all navigations and also passing of data between destinations.
- Timber – a logger with a small, extensible API which provides utility on top of Android’s normal Log class.
- Kotlin Coroutines for managing background threads and reducing needs for callbacks.
- Data Binding to declaratively bind UI components in layouts to data sources.
- Room persistence library which provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
Testing
- JUnit – a simple framework to write repeatable tests.
Installation
Shopping list requires a minimum API level of 19. Clone the repository and run.
Contributions
All contributions are welcome! Simply make a PR.