This is a WeatherApp that you can see current and 5 days forecast weather at your location or cities around the Turkey with Clean Architecture
- API Key, to run the application, an API key from OpenWeatherMap should be supplied and added following variable to local environment:
API_KEY = "Your API Key"
or you can just download from here
Unit tests are type of automated test that focuses on testing a small unit of code in isolation. The purpose of a unit test is to verify the correctness of individual units of code, such as functions or methods, by testing them in isolation from the rest of the system.
Unit tests have been added for domain, and data layer.
This app uses MVVM (Model-View-ViewModel) Clean Architecture
-
Minimum SDK level 21
-
100% Kotlin based + Coroutines and Flow
-
Android Hilt - Dependency Injection Library
-
Retrofit A type-safe HTTP client for Android and Java
-
OkHttp An HTTP client that efficiently make network requests
-
Navigation to manage fragments
-
ViewModel This is a kind of storage for UI related data which you can save from UI changes(like configuration change)
-
LiveData An Architecture Components that is designed to observe changes in data and notify observers when the data changes.
-
Data Binding to connect views in your layout to data sources in your app's architecture.
-
View Binding a generated binding class is created for each XML layout file in your app
-
Glide Popular open-source library for loading and caching images in Android applications.
-
Material Design for various UI components, such as buttons, cards, and text fields
-
Gson to serialize and deserialize JSON data when communicating with web services or when storing data locally
-
BuildSrc and Kotlin-dsl for gradle operations.