Skip to content

Weatherify fetches data from the OpenWeatherMap API to provide real-time weather information. Weatherfiy is implemented using the MVVM single activity architecture, Retrofit2, Dagger-Hilt, LiveData, Coroutines, Room, Navigation Components, View Binding and some other libraries from the Android Jetpack.

Notifications You must be signed in to change notification settings

pranavelric/Weatherify

Repository files navigation

Weatherify

Weatherify fetches data from the OpenWeatherMap API to provide real time weather information. Weatherfiy is implemented using the MVVM single activity architecture, Retrofit2, Dagger-Hilt, LiveData, Coroutines, Room, Navigation Components, View Binding and some other libraries from the Android Jetpack.

Download apk

logo

Setup API Key

  • Visit openweathermap.org to get your API Key

  • Open app/src/main/java/com/weather/weatherify/utils/Constants.kt

  • And add following line:

    const val API_KEY_VALUE = "your api key here"

Technologies used

  • openweather api provides weather data for any location.
  • MVVM Model-View-ViewModel (MVVM) is a structural design pattern that separates objects into model, view and view model.
  • Dagger-hilt a dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project.
  • Retrofit a REST Client for Android which makes it relatively easy to retrieve and upload JSON (or other structured data) via a REST based webservice.
  • Glide a fast and efficient open source media management and image loading framework for Android.
  • LiveData to handle data in a lifecycle-aware fashion.
  • Navigation Component to handle all navigations and also passing of data between destinations.
  • Material Design an adaptable system of guidelines, components, and tools that support the best practices of user interface design.
  • Coroutines used to manage the local storage i.e. writing to and reading from the database. Coroutines help in managing background threads and reduces the need for callbacks.
  • View Binding is feature that allows you to more easily write code that interacts with views.
  • Room persistence library which provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.

Features

  • Detailed Weather Info By Location
  • Detailed weather Forecast
  • Search weather By City
  • Dark Theme available

Screenshots

Contribution

All contributions are welcome. If you are interested in seeing a particular feature implemented in this app, please open a new issue so after which you can make a PR!

About

Weatherify fetches data from the OpenWeatherMap API to provide real-time weather information. Weatherfiy is implemented using the MVVM single activity architecture, Retrofit2, Dagger-Hilt, LiveData, Coroutines, Room, Navigation Components, View Binding and some other libraries from the Android Jetpack.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages