{"adoption": {"forks": 446, "observed_at": "2026-08-28T04:06:22.111503+00:00", "stars": 2175}, "canonical_url": "https://ross.abutalabs.com/products/android-clean-boilerplate", "card": {"archived": false, "artifact_type": "application", "description": "This is starter template for writing Android apps using Clean architecture", "domain": ["mobile-development", "developer-tools", "android-tools"], "enriched": true, "function": ["boilerplate", "developer-tools"], "health_score": 20, "homepage": null, "language": "Java", "license": "MIT", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["dmilicic/Android-Clean-Boilerplate"], "name": "dmilicic/Android-Clean-Boilerplate", "platform": ["jvm"], "pushed_at": "2016-12-24T19:53:30+00:00", "repo": "dmilicic/Android-Clean-Boilerplate", "stars": 2175, "tags": ["clean-architecture", "starter-template", "mvp", "java", "retrofit", "butterknife", "android-template", "starter-project", "android", "mobile"], "topics": [], "urls": [], "use_cases": ["start an android app using clean architecture", "android clean architecture starter template", "boilerplate project for building an android app with mvp", "skeleton android app already structured with presenters and interactors", "learn clean architecture on android with a working example", "java android template without rxjava or dagger"], "what_it_is": "A starter template Android application that implements Clean architecture with pre-written boilerplate for views, presenters, and interactors across presentation, domain, and storage layers. It is written in plain Java (deliberately avoiding RxJava and Dagger) and comes pre-wired with libraries like Retrofit, Timber, Butterknife, JUnit, and Mockito.", "when_to_avoid": ["You need Kotlin, AndroidX, or current Android tooling - the template targets API 15+ and was last released in 2016", "You want an RxJava/Dagger-based Clean architecture setup, for which the Android-CleanArchitecture project is a better fit", "You need an actively maintained foundation with up-to-date dependencies for a production app"], "when_to_choose": ["You want a ready-made Android project structure following Clean architecture so you can start writing business logic immediately", "You prefer plain Java without the added complexity of RxJava or Dagger", "You want a learning reference for Clean architecture, since the author provides a detailed written guide"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/android-clean-boilerplate", "repo": "dmilicic/Android-Clean-Boilerplate", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:22.111503+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:19:38.138162+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fff214388ebf8c2dd2815be76c0c6fa1e449d3cfd369e3eea6a4bb69710947b9", "fetched_at": "2026-08-28T04:06:22.111503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmilicic/Android-Clean-Boilerplate"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:22.111503+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:19:38.138162+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fff214388ebf8c2dd2815be76c0c6fa1e449d3cfd369e3eea6a4bb69710947b9", "fetched_at": "2026-08-28T04:06:22.111503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmilicic/Android-Clean-Boilerplate"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:19:38.138162+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fff214388ebf8c2dd2815be76c0c6fa1e449d3cfd369e3eea6a4bb69710947b9", "fetched_at": "2026-08-28T04:06:22.111503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmilicic/Android-Clean-Boilerplate"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:22.111503+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:22.111503+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:22.111503+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:19:38.138162+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fff214388ebf8c2dd2815be76c0c6fa1e449d3cfd369e3eea6a4bb69710947b9", "fetched_at": "2026-08-28T04:06:22.111503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmilicic/Android-Clean-Boilerplate"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:22.111503+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:22.111503+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:19:38.138162+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fff214388ebf8c2dd2815be76c0c6fa1e449d3cfd369e3eea6a4bb69710947b9", "fetched_at": "2026-08-28T04:06:22.111503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmilicic/Android-Clean-Boilerplate"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:22.111503+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:22.111503+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:22.111503+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:19:38.138162+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fff214388ebf8c2dd2815be76c0c6fa1e449d3cfd369e3eea6a4bb69710947b9", "fetched_at": "2026-08-28T04:06:22.111503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmilicic/Android-Clean-Boilerplate"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:22.111503+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:22.111503+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:19:38.138162+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fff214388ebf8c2dd2815be76c0c6fa1e449d3cfd369e3eea6a4bb69710947b9", "fetched_at": "2026-08-28T04:06:22.111503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmilicic/Android-Clean-Boilerplate"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:19:38.138162+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fff214388ebf8c2dd2815be76c0c6fa1e449d3cfd369e3eea6a4bb69710947b9", "fetched_at": "2026-08-28T04:06:22.111503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmilicic/Android-Clean-Boilerplate"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:19:38.138162+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fff214388ebf8c2dd2815be76c0c6fa1e449d3cfd369e3eea6a4bb69710947b9", "fetched_at": "2026-08-28T04:06:22.111503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmilicic/Android-Clean-Boilerplate"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:19:38.138162+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fff214388ebf8c2dd2815be76c0c6fa1e449d3cfd369e3eea6a4bb69710947b9", "fetched_at": "2026-08-28T04:06:22.111503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmilicic/Android-Clean-Boilerplate"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3872, "days_push": 3539, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}