A simple android weather application in kotlin to demonstrate the usage for MVVM design pattern using LiveData, RxJava, View-DataBinding, Retrofit, Moshi, Koin (Dependency Injection), based on Clean Architecture & Gradle Dependency Management (GDM) . The application supports caching using retrofits default caching mechanism.
- MVVM Architecture - Robust, testable, and maintainable app with classes for managing your UI component lifecycle and handling data persistence.
- Clean Architecture - Isolates UI, business logic and data sources' responsibilities creating a Testable system
- KOIN - A pragmatic lightweight dependency injection framework for Kotlin
- AndroidX - AndroidX is a major improvement to the original Android [Support Library]
- Lifecycles - Create a UI that automatically responds to lifecycle events.
- LiveData - Build data objects that notify views when the underlying database changes.
- ViewModel - Store UI-related data that isn't destroyed on app rotations. Easily schedule asynchronous tasks for optimal execution.
- Test - An Android testing framework for unit and runtime UI tests.