You can see the weather conditions of your city instantly and with five-day details. Based on the clean architecture approach, the application was developed with a multi-module.
-
Minimum SDK level 21
-
Contains Ui and Unit Tests
-
100% Kotlin based + Coroutines and Flow
-
Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- A single-activity architecture, using the Navigation component to manage fragment operations.
- LiveData - Data objects that notify views when the underlying database changes.
- Lifecycle - perform an action when lifecycle state changes
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- UseCases - Located domain layer that sits between the UI layer and the data layer.
- Repository - Located in data layer that contains application data and business logic.
-
ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
-
DataStore - Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers. DataStore uses Kotlin coroutines and Flow to store data asynchronously, consistently, and transactionally.
-
Android Hilt - Dependency Injection Library
-
Retrofit A type-safe HTTP client for Android and Java
-
Coil An image loading library for Android backed by Kotlin Coroutines
-
Debug
- LeakCanary LeakCanary is a memory leak detection library for Android.
-
Testing
- Mockito A mocking framework that tastes really good. It lets you write beautiful tests with a clean & simple API
- MockWebServer A scriptable web server for testing HTTP clients
- Truth A library for performing assertions in tests
- Turbine A small testing library for kotlinx.coroutines Flow
Weather Data API
Quotes API