Skip to content

dimasaryamurdiyan/weather-compose

Repository files navigation

Weather App

This is the guide about how this app was developed. This App running with Java Version_17

The app was developed with latest modern android development :

  • Kotlin
  • Jetpack Compose
  • Clean Architecture pattern
  • Hilt - Dependency Injection
  • Coroutines
  • Flow
  • Room
  • Version Catalog
  • Unit test using Mockito
  • Android Min SDK: 24
  • Android Target SDK: 33
  • Min Java Version: VERSION_17

If you want to check the git log, you can check to this-github-weather-project

Android App Architecture - Guideline to App Architecture

ass-png

Top tip: A module graph (shown above) can be useful during modularization planning for visualizing dependencies between modules.

The Weather app contains the following types of modules:

  • The presentation module - contains presentation layer that contains ViewModel, Navigation Graph and Composable Function.
  • data module - contains operation about accessing or manipulating data both network nor local. This module depend on domain module, but it shouldn’t depend on presentation module.
  • domain module - most deep layer that contains all business logic for each specific usecase, such as GetForecastUseCase, AddCityUseCase, etc. This module not depend to any module, because this is the deepest layer based on Clean Architecture guidelines.
  • di module - contains scaffolding classes that bind the rest of codebases.
  • utils module - basically common module that contains extension function, helper, or constant data.

Main Features

  • Show all cities saved
  • Add new city to storage
  • Show detail forecast for each city

Demo :)

ass-gif

Credits

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages