A simple android application to display current weather conditions. This app will show
- Search for a city by name.
- Detect the weather of current user location incase the user enabled device GPS.
This project implements clean architecture, MVVM structure pattern, Retrofit for APIs, Coroutines, LiveData and DataBinding.
- common: It contains all the base classes of the application.
- data: It contains the database, shared preference, network classes of the application.
- di: It contains setup of koin dependency injection.
- feature: It contains the packages of each feature in the application. Each feature contains two packages, one for module and one for screens.
- utils: It contains the utils classes of the application.
- constants: It contains any constants values in the application.
- Coroutines: https://codelabs.developers.google.com/codelabs/kotlin-coroutines/
- Retrofit: https://square.github.io/retrofit/
- DataBinding: https://developer.android.com/topic/libraries/data-binding
- Koin: https://insert-koin.io/docs/quickstart/android/
- Glide: https://github.com/bumptech/glide
Copyright (C) 2019 khaled Aboshama
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.