Local Weather App

Local Weather app shows your current location weather and you can search for other cities weather and save them for later check.

How to run?

This project needs Android Studio 4.0.0 or above with Android Gradle plugin 7.0+

It’s recommended to open it using Android Studio Artic Fox or above


Clean architecture based on MVVM (Model-View-ViewModel) with Coroutines , Flow, and StateFlow

The following diagram shows all the layers and how each layer interacts with each other. This architecture uses a layered software architecture. MVVM Clean Architecture

Built With ?

  • Kotlin – official programming language for Android development.
  • Coroutines – for asynchronous or non-blocking programming.
  • Android Architecture Components – Part of Jetpack it’s a set of libraries that help you design robust, testable, and maintainable apps.

    • ViewModel – store and manage UI-related data in a lifecycle conscious way.
    • Navigation – Navigation refers to the interactions that allow users to navigate across, into, and back out from the different pieces of content within your app.
    • Room – persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
  • Hilt – Hilt is a dependency injection library for Android that reduces the boilerplate of doing manual dependency injection (Based on Dagger 2).
  • Retrofit – A type-safe HTTP client for Android.
  • Gson A Java serialization/deserialization library to convert Java Objects into JSON and back.
  • Material Design are interactive building blocks for creating a friendly user interface.
  • Glide An image loading and caching library.
  • JUnit A foundation framework for developer-side testing on the JVM.


View Github