(EN) Switch language:
Android-app weather forecast developed with Jetpack Compose and MVVM architechture. App gets data from WeatherAPI and provides user with current weather, forecast and other related information.
- Weather forecast by user location (using Google Location Services)
- Weather forecast by city search (requests to Weather API)
- 3-day hourly forecast (fbased on the free Weather API plan)
- Hourly temperature chart for the current day
- Localization support (EN/RU depending on system language)
- History of weather requests (stored in Room DB)
- UI color theme consistent with the system theme
- Passive notifications with current weather condition
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- Kotlin - programming language of the app
- Jetpack Compose - declarative UI toolkit replacing XML-based layouts
- Hilt (Dagger) - dependency injection for easier component management
- MVVM - architectural pattern (Model-View-ViewModel)
- Ktor Client - network requests to the Weather API
- Kotlinx Serialization - JSON parsing from the Weather API
- Room - local storage for weather history
- Coroutines / Flow - asynchronous work and reactive UI updates
- Google Location Services - geolocation handling
- Service - background task execution (push notifications with current weather)
- WorkManager - scheduling delayed and periodic tasks (automatic background forecast updates and start service with pushing notification)
(RU) Переключить язык:
Android-приложение прогноза погоды разработанное с использованием Jetpack Compose и архитектуры MVVM. Приложение получает данные из WeatherAPI и предоставляет пользователю интерфейс для просмотра текущей погоды, прогноза и дополнительной информации о погоде.
- Прогноз по местоположению пользователя (используя Google Location Services)
- Прогноз по поиску города (поиск с обрашением к Weather API)
- 3-х дневный почасовой прогноз (бесплатный тариф Weather API)
- График почасовой температуры текущего дня
- Поддержка локализаций (ru/en в зависимости от языка системы)
- История запросов (сохранение в локальной БД Room)
- Цвета интерфейса в соответствии с темой системы
- Пассивные уведомления с текущим состоянием погоды
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- Kotlin - язык разработки
- Jetpack Compose - декларативный UI, всё больше вытесняющий подход с XML
- Hilt (Dagger) - внедрение зависимостей для облегчения доступа к компонентам приложения
- MVVM - архитектурный паттерн (Model-View-ViewModel)
- Ktor Client - сетевые запросы к Weather API
- Kotlinx Serialization - парсинг JSON приходящего с Weather API
- Room - локальное хранилище для сохранения истории погоды
- Coroutines / Flow - асинхронная работа и реактивные обновления UI
- Google Location Services - работа с геолокацией
- Service - фоновое выполнение задач (пуш уведомления с текущей погодой)
- WorkManager - планирование отложенных и периодических задач (автоматическое обновление прогноза в фоне и запуск сервиса для пуша уведомления)











