{"id":17810303,"url":"https://github.com/jarroyoesp/tddweatherapp","last_synced_at":"2025-03-17T19:31:22.343Z","repository":{"id":95502812,"uuid":"158246318","full_name":"jarroyoesp/TDDWeatherApp","owner":"jarroyoesp","description":"Android App trying to apply TDD and using MVVM, Kotlin Coroutines","archived":false,"fork":false,"pushed_at":"2019-03-28T12:54:19.000Z","size":759,"stargazers_count":39,"open_issues_count":0,"forks_count":8,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-02-28T03:23:26.479Z","etag":null,"topics":["android","android-architecture","android-room-persistence-library","dagger2","espresso","kotlin","kotlin-coroutines","mockito","mvvm","retrofit2","tdd","weather"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jarroyoesp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-19T15:24:27.000Z","updated_at":"2025-02-22T07:02:22.000Z","dependencies_parsed_at":"2023-04-27T20:46:56.743Z","dependency_job_id":null,"html_url":"https://github.com/jarroyoesp/TDDWeatherApp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarroyoesp%2FTDDWeatherApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarroyoesp%2FTDDWeatherApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarroyoesp%2FTDDWeatherApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarroyoesp%2FTDDWeatherApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jarroyoesp","download_url":"https://codeload.github.com/jarroyoesp/TDDWeatherApp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243878439,"owners_count":20362432,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-architecture","android-room-persistence-library","dagger2","espresso","kotlin","kotlin-coroutines","mockito","mvvm","retrofit2","tdd","weather"],"created_at":"2024-10-27T15:31:46.242Z","updated_at":"2025-03-17T19:31:22.333Z","avatar_url":"https://github.com/jarroyoesp.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TDD Weather App\nThis 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:\n\n1. To experiment with MVVM\n2. To experiment with the Android Architecture Components\n3. To experiment with stable Kotlin coroutines\n4. To use as a starting point in future projects where clean architecture feels appropriate\n\nIt is written 100% in Kotlin with both UI and Unit tests \n\n## Languages, libraries and tools used\n\n* [Kotlin](https://kotlinlang.org/)\n* [Stable Kotlin Coroutines (1.3)](https://github.com/Kotlin/kotlinx.coroutines)\n* [Room](https://developer.android.com/topic/libraries/architecture/room.html)\n* [Android Architecture Components](https://developer.android.com/topic/libraries/architecture/index.html)\n* Android Support Libraries\n* [Dagger 2 (2.18)](https://github.com/google/dagger)\n* [Retrofit](http://square.github.io/retrofit/)\n* [OkHttp](http://square.github.io/okhttp/)\n* [Gson](https://github.com/google/gson)\n* [Mockito](http://site.mockito.org/)\n* [Espresso](https://developer.android.com/training/testing/espresso/index.html)\n* [AndroidPlot](https://github.com/halfhp/androidplot)\n\n## References\n\n* [BufferApp](https://github.com/bufferapp/android-clean-architecture-boilerplate)\n* [Android-architecture](https://github.com/dmytrodanylyk/android-architecture)\n\n## Captures\n\n### Home\n\u003cimg src=\"https://github.com/jarroyoesp/TDDWeatherApp/blob/master/images/home.png\" width=\"200\"\u003e\n\n### Account\n\u003cimg src=\"https://github.com/jarroyoesp/TDDWeatherApp/blob/master/images/locations.png\" width=\"200\"\u003e\n\n### Forecast detail\n\u003cimg src=\"https://github.com/jarroyoesp/TDDWeatherApp/blob/master/images/forecast_detail.png\" width=\"200\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarroyoesp%2Ftddweatherapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjarroyoesp%2Ftddweatherapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarroyoesp%2Ftddweatherapp/lists"}