The app currently, loops the 10 given locations and fetches the forecast for that location. The Displayed forecast info are the following:
- Current Weather real feel, wind, code description (if available) and time.
- List of 7 days including today, displaying, min, max temperatures, date and code description (if available)
- The app is structured using MVVM + Clean architecture.
- Used Koin for Dependency Injection
- For network layer Ktor is used + Kotlinx serialization.
- Kotlin Corutines for reactive streams
- Added Junit test as examples, for
LatestWeatherViewModel
,GetLatestWeatherUseCase
andListLocationProviderTest
- When tapping on a day item from the list can display a detail view of this day.
- displaying city name from coordinates.
- Use more of the api fields in the UI
- Use Icons for some weather features like rain, snow, thunderstorms etc..
- use a widget or a notification and use a background worker (interval would be 15 minutes) and looping locations to update the widget/notification current weather condition.
- Using library modules (for example a module for network, module for location providing, module for latest weather, etc..)
- Add more tests for example mappers and the repository.