chapp-hk / AndroidArchitecturePlayground

Demo project using Kotlin flow with Clean Architecture

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Weather App

A simple Android app that use https://openweathermap.org/current apis to fetch and display weather information

Features

  • Search by city name. The result of the search is to display the current weather information for the searched location.
  • Search by GPS location
  • When come back to the app after closing it, the weather for the most recent search is displayed.
  • List of recently searched locations. Can tap on a recent search location and see the current weather location.
  • Can delete one or more recently searched locations.

Requirements

  • Android Studio Canary (Latest version)
  • Android 5.0 (API Level 21) or above
  • Network connection
  • GPS

Environment Setting

If you want to use your own API key, please modify buildSrc/src/main/java/Deps.kt

Permission

  • android.permission.INTERNET: for fetching api
  • android.permission.ACCESS_FINE_LOCATION: for getting current location

Major Dependencies

App Architecture

Clean Architecture with MVVM is applied

Modules

  • app: clean architecture presentation layer
  • data: clean architecture data layer
  • domain: clean architecture domain layer
  • base: base module contains all base classes and utils
  • base-test: base module for testing utils
  • mobile-service: module contains mobile service e.g. Play Services Location

Test

  • Unit test
  • UI test

About

Demo project using Kotlin flow with Clean Architecture


Languages

Language:Kotlin 100.0%