A weather application that displays the current weather.
- Architecture
- MVVM (Model-View-ViewModel)
- Repository pattern
- Single-Activity pattern
- Architecture components
- WorkManager - Schedule background work that's deferrable and requires guaranteed execution.
- 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.
- Third party libraries
- Retrofit - a type-safe REST client for Android.
- Moshi - for parsing JSON into Java objects.
- Hilt - a dependency injection library for Android.
- Room - for persisting data locally.
- Kotlin Coroutines - for managing background threads with simplified code and reducing needs for callbacks.
- Timber - a logging library for Android
- Ktlint - a static code analysis tool that is used to analyze the Kotlin code.
- API
- Uses AccuWeather APIs to get weather data.
Go to the Releases to download the latest APK.
- Yorlmar Campos - for icons.
- Adin Yanuar - for UI designs.