Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jarroyoesp/TDDWeatherApp

Android App trying to apply TDD and using MVVM, Kotlin Coroutines
https://github.com/jarroyoesp/TDDWeatherApp

android android-architecture android-room-persistence-library dagger2 espresso kotlin kotlin-coroutines mockito mvvm retrofit2 tdd weather

Last synced: 12 days ago
JSON representation

Android App trying to apply TDD and using MVVM, Kotlin Coroutines

Awesome Lists containing this project

README

        

# TDD Weather App
This is an example of Android application using TDD and MVVM design pattern to show the current weather and forecast. I created this project for a few reasons:

1. To experiment with MVVM
2. To experiment with the Android Architecture Components
3. To experiment with stable Kotlin coroutines
4. To use as a starting point in future projects where clean architecture feels appropriate

It is written 100% in Kotlin with both UI and Unit tests

## Languages, libraries and tools used

* [Kotlin](https://kotlinlang.org/)
* [Stable Kotlin Coroutines (1.3)](https://github.com/Kotlin/kotlinx.coroutines)
* [Room](https://developer.android.com/topic/libraries/architecture/room.html)
* [Android Architecture Components](https://developer.android.com/topic/libraries/architecture/index.html)
* Android Support Libraries
* [Dagger 2 (2.18)](https://github.com/google/dagger)
* [Retrofit](http://square.github.io/retrofit/)
* [OkHttp](http://square.github.io/okhttp/)
* [Gson](https://github.com/google/gson)
* [Mockito](http://site.mockito.org/)
* [Espresso](https://developer.android.com/training/testing/espresso/index.html)
* [AndroidPlot](https://github.com/halfhp/androidplot)

## References

* [BufferApp](https://github.com/bufferapp/android-clean-architecture-boilerplate)
* [Android-architecture](https://github.com/dmytrodanylyk/android-architecture)

## Captures

### Home

### Account

### Forecast detail