Skip to content

VladimirKhmelev/Mobile-Weather-App

Repository files navigation

Погода

Мобильное приложение для прогноза погоды на Android.

Возможности

  • Поиск погоды по городу
  • Карта с маркерами
  • Прогноз на 5 дней
  • Кэширование данных (Room + SQLite)
  • Темы оформления (светлая/тёмная) в соответствии Material Design
  • Интеграция с OpenWeatherMap API
  • Сохранение истории поиска
  • Автоматическое обновление данных

Используемые технологии и библиотеки

  • Kotlin — основной язык
  • Jetpack Compose — UI
  • Room — локальная база данных для кэша
  • Retrofit — сетевые запросы к OpenWeatherMap
  • Gson — сериализация/десериализация JSON
  • OkHttp — HTTP-клиент
  • OSM (OpenStreetMap) — карта с кастомными маркерами

Особенности реализации

  • Кэширование погоды и прогноза с TTL (10 минут для текущей, 60 минут для прогноза)
  • Уникальные ключи кэша для каждого города и системы единиц
  • Структурированные модели данных для погоды и прогноза
  • Очистка кэша и файловых данных через отдельную функцию
  • Поддержка русского языка в запросах
  • Лунный календарь
  • Империческая система измерений
  • Тёмная тема
  • Диаграммы погоды
  • История поиска

Сборка и запуск

  1. Клонируйте репозиторий:
    git clone https://github.com/VladimirKhmelev/Mobile-Weather-App.git
  2. Откройте проект в Android Studio.
  3. Запустите сборку через Gradle:
    ./gradlew build

Структура проекта

  • app/ — исходный код приложения
  • gradle/ — настройки Gradle
  • build.gradle.kts, settings.gradle.kts — конфигурация сборки
  • README.md — описание проекта
  • LICENSE — лицензия MIT

API ключи

Используется OpenWeatherMap API. Ключ хранится в коде для тестовых целей.

Лицензия

MIT (см. LICENSE)

About

Mobile Weather App for Kotlin

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages