Advanced android forecast weather app with search engine through date selection developed in kotlin, demonstrating the use of RxJava, Retrofit and implementing MVP.





Weather app created using the Open weather map Api. This is not supposed to be a production scale application, it is meant to demonstrate the implementation of MVP architecture in Kotlin using following libraries:


Still if you have any issues or suggestions, please feel free to open an issue

General flow of data

  • Check if there is cached data present in the internal file, if yes then load the cached data.
  • Retrieve the latitude and longitude of the user.
  • Request data from Weather Api
  • If data received, cache it in internal file and show the updated data to user.
  • If you want particular location weather deatils then use the search engine
  • Forecasting weather through date selection
  • If error then notify user about it.

Build the Project

To build the project on your own follow these steps:

  • Clone the Project
  • Get an Api key from open weather map
  • Open the Weather activity file and then enter your API key that you got from the open weather map

companion object{
      private const val PERMISSION_REQUEST_ACCESS_LOCATION = 100
      const val API_KEY ="Your Api key"


View Github