{"id":24732255,"url":"https://github.com/chnouman/decadeofmovies","last_synced_at":"2025-10-10T00:32:14.904Z","repository":{"id":109004386,"uuid":"372133043","full_name":"chnouman/DecadeOfMovies","owner":"chnouman","description":"A simple app to show case Master detail application for Movies","archived":false,"fork":false,"pushed_at":"2021-05-31T17:51:51.000Z","size":5233,"stargazers_count":28,"open_issues_count":0,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-03T11:21:16.570Z","etag":null,"topics":["android","android-architecture","databinding","espresso","glide","jetpack","jetpack-lifecycle-components","koin-kotlin","mvvm-android","retrofit","retrofit2","rxjava3"],"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/chnouman.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":"2021-05-30T05:39:41.000Z","updated_at":"2024-01-23T06:20:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"5be07e4f-b4ee-4374-9545-df4e285de378","html_url":"https://github.com/chnouman/DecadeOfMovies","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/chnouman/DecadeOfMovies","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chnouman%2FDecadeOfMovies","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chnouman%2FDecadeOfMovies/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chnouman%2FDecadeOfMovies/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chnouman%2FDecadeOfMovies/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chnouman","download_url":"https://codeload.github.com/chnouman/DecadeOfMovies/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chnouman%2FDecadeOfMovies/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002358,"owners_count":26083356,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","databinding","espresso","glide","jetpack","jetpack-lifecycle-components","koin-kotlin","mvvm-android","retrofit","retrofit2","rxjava3"],"created_at":"2025-01-27T17:11:08.358Z","updated_at":"2025-10-10T00:32:14.899Z","avatar_url":"https://github.com/chnouman.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Decade of Movies App\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt='Screenshot 1' src=\"assets/screenshot_1.png\" width=\"40%\"/\u003e\n  \u003cimg alt='Screenshot 2' src=\"assets/screenshot_2.png\" width=\"40%\"/\u003e\n  \u003cbr/\u003e\n\u003c/p\u003e\n\nDemo Application to understand the architecture of MVVM App with Unit tests\n\n\n## Build Instructions ##\n\nThe [gradle build system](http://tools.android.com/tech-docs/new-build-system/user-guide) will fetch all dependencies and generate\nfiles you need to build the project. After this select device and run it.\n\nYou can use [Android Studio](http://developer.android.com/sdk/installing/studio.html) by importing the project as a Gradle project.\n\n## Directory structure ##\n\n    `|-- base                            # base module (contains providers and streamer)\n     |    |-- build.gradle               # base build script\n     |    `-- src\n     |          |-- main\n     |                |-- assets         # base module assets\n     |                |-- java           # base module kotlin code\n     |                `-- res            # base module resources\n\n\n\n## Features :\n\n- Using MVVM (Model-View-ViewModel) Architecture\n- Using Room Persistence for local database\n- Using Koin for Dependency Injection (ViewModels, WebService and Preferences)\n- Using Retrofit to request api network\n- Using Glide for loading image from url\n- Using RxJava3 for Threading\n- Using JUnit4 with Mockito to write Unit tests\n- Using JUnit4 with Espresso for UI Testing\n\n## Dependencies :\n\n- [Lifecycle \u0026 Livedata](https://developer.android.com/jetpack/androidx/releases/lifecycle)\n- [Navigation Component](https://developer.android.com/jetpack/androidx/releases/navigation)\n- [Retrofit 2](https://square.github.io/retrofit/)\n- [RxJava3](https://github.com/ReactiveX/RxAndroid)\n- [Glide](https://github.com/bumptech/glide)\n- [Koin](https://github.com/InsertKoinIO/koin)\n- [AndroidX](https://mvnrepository.com/artifact/androidx)\n- [Espresso](https://github.com/android/testing-samples)\n\n\n## Author\n\n[**M Nouman**](https://www.linkedin.com/in/chnouman/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchnouman%2Fdecadeofmovies","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchnouman%2Fdecadeofmovies","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchnouman%2Fdecadeofmovies/lists"}