A simple application that provides a weather forecast.
- The app displays the user an input field.
- The user enters a city name and presses lookup.
- The app sends api request and displays the user a weather forecast.
To show how to implement Clean architecture using MVVM for presentation layer and kotlin coroutines for background tasks.
Android Architecture Components (ViewModel, LiveData, Navigation, Lifecycle), Retrofit, Dagger Hilt, Coroutines.
- Network helper to handle network connection.
- Diff utils for forecast list.
- Persistence storage (room or greendao)
- Drop down list to choose city because the same city may be present in different countries.
- Add search by postal code.
- Improve UI design. Add date to each forecast to have an understanding for which day the forecast is shown.
- Add unit tests.