Skip to content

rasfarrf5/weather_app_dagger

Repository files navigation

Weather App Dagger

This is an example of Android application using TDD and MVP design pattern to show the current weather information. It is written 100% in Kotlin with both Espresso and Unit tests.

This demo explains below concepts such as:

  1. TDD architecture
  2. MVP design pattern
  3. Dagger dependency injection
  4. Kotlin code architecture
  5. ReactiveX for Async operations
  6. Clean code concept

Features:

Neat build.gradle with shared dependencies.

Dagger2 with android component. Injectable Views and structure to make the app testable and maintanable.

State management with RxKotlin and Android Components - background-foreground and orientation changes will connect to the ongoing network request.

Network requests continue in the background - UI is capable of retrieval of the current state when resumed.

Custom retrofit call factory to handle no connection error in a reactive way.

Espresso tests with overriden dependencies and MockWebServer.

Easy debuggable builds.

Languages, libraries and tools used in this project

About

This is sample to explain about Dagger 2 with TDD

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages