Skip to content

A simple android weather app demonstrating Jetpack Compose

Notifications You must be signed in to change notification settings

tbandawa/openWeather

Repository files navigation

openWeather

A simple android weather app demonstrating Jetpack Compose. Data is provided by OpenWeatherMap API

open Weather Screenshot

App Architecture.

  • Unidirectional data flow (UDF), where state flows down composables and events flow up from composables.
  • A single-activity architecture, using the Navigation-Compose dependency to manage navigation between composables.
  • Pattern Model-View-ViewModel (MVVM) facilitating separation of development of the graphical user interface.
  • Modular app architecture allows being developed features in isolation, independently from other features.

Modules:

  • app - the main entry point of the application.
  • domain - encapsulates business logic and improves testability of the data module.
  • data - contains entities, repository, APIs and data manipulation util code.

App Specs

  • Minimum SDK 24
  • Target SDK 34
  • Compile SDK 34

Libraries

  • Kotlin
  • Android Architecture Components (ViewModel, Navigation Component, ConstraintLayout)
  • DataStore preferences local storage
  • Coil image loading library for Android Jetpack Compose support
  • Koin for dependency injection.
  • Jetpack Compose libraries.
  • Accompanist utils for Jetpack Compose.
  • Ktor for fetching data from the OpenWeatherMap API.
  • Timber for logging events.

About

A simple android weather app demonstrating Jetpack Compose

Resources

Stars

Watchers

Forks

Languages