{"adoption": {"forks": 246, "observed_at": "2026-08-28T04:05:10.841487+00:00", "stars": 1609}, "canonical_url": "https://ross.abutalabs.com/products/pokemongo", "card": {"archived": false, "artifact_type": "learning-resource", "description": "神奇宝贝 (PokemonGo) 基于 Jetpack + MVVM + Repository  设计模式 + Data Mapper + Kotlin Flow 的实战项目，如果这个仓库对你有帮助，请仓库右上角帮我 star 一下，非常感谢。", "domain": ["android-tools", "mobile-development", "tutorials", "developer-tools"], "enriched": true, "function": ["mobile-framework", "state-management", "http-client", "database", "data-visualization"], "health_score": 20, "homepage": null, "language": "Kotlin", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["hi-dhl/PokemonGo"], "name": "hi-dhl/PokemonGo", "platform": ["jvm"], "pushed_at": "2021-01-21T03:19:32+00:00", "repo": "hi-dhl/PokemonGo", "stars": 1609, "tags": ["jetpack", "mvvm", "kotlin-flow", "paging3", "dagger-hilt", "room", "databinding", "sample-app", "pokemon", "android"], "topics": ["databinding", "databinding-android", "appstartup", "room", "dagger-hilt", "paging3", "motionlayout", "kotlin-flow", "coil", "jprogressview", "mediatorresult", "data-mapper", "mvvm", "repository", "retrofit2", "okhttp3", "timber"], "urls": [], "use_cases": ["learn how to use Kotlin Flow in an MVVM Android app", "example of Paging3 with network plus Room database via RemoteMediator", "see how to set up Dagger-Hilt and App Startup in Android", "reference for Data Mapper pattern separating data sources from UI", "learn StateFlow-based search combining DB and network results", "study a complete Jetpack MVVM project structure in Kotlin"], "what_it_is": "A small Android sample app demonstrating Jetpack + MVVM + Repository architecture with Paging3, Kotlin Flow, Room, Dagger-Hilt, DataBinding, and other modern Android libraries, built around a Pokemon API. It serves primarily as a practical learning project with accompanying analysis articles.", "when_to_avoid": ["you need a production-ready Pokemon app for end users", "you need a maintained library or dependency rather than a demo project", "you target platforms other than Android"], "when_to_choose": ["you want a real-world Kotlin Android example of Jetpack MVVM best practices", "you need working code showing Paging3 RemoteMediator with network and database", "you are learning Kotlin Flow, StateFlow, and coroutines in Android apps"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pokemongo", "repo": "hi-dhl/PokemonGo", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.841487+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:51:16.967413+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236df343345eb77e01cb08c4b12f9fc6b3cca580d8c9e7802b794e7a416af610", "fetched_at": "2026-08-28T04:05:10.841487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/PokemonGo"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.841487+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:51:16.967413+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236df343345eb77e01cb08c4b12f9fc6b3cca580d8c9e7802b794e7a416af610", "fetched_at": "2026-08-28T04:05:10.841487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/PokemonGo"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:51:16.967413+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236df343345eb77e01cb08c4b12f9fc6b3cca580d8c9e7802b794e7a416af610", "fetched_at": "2026-08-28T04:05:10.841487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/PokemonGo"}], "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:05:10.841487+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.841487+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.841487+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:51:16.967413+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236df343345eb77e01cb08c4b12f9fc6b3cca580d8c9e7802b794e7a416af610", "fetched_at": "2026-08-28T04:05:10.841487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/PokemonGo"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.841487+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.841487+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:51:16.967413+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236df343345eb77e01cb08c4b12f9fc6b3cca580d8c9e7802b794e7a416af610", "fetched_at": "2026-08-28T04:05:10.841487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/PokemonGo"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.841487+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.841487+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.841487+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:51:16.967413+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236df343345eb77e01cb08c4b12f9fc6b3cca580d8c9e7802b794e7a416af610", "fetched_at": "2026-08-28T04:05:10.841487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/PokemonGo"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.841487+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.841487+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:51:16.967413+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236df343345eb77e01cb08c4b12f9fc6b3cca580d8c9e7802b794e7a416af610", "fetched_at": "2026-08-28T04:05:10.841487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/PokemonGo"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:51:16.967413+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236df343345eb77e01cb08c4b12f9fc6b3cca580d8c9e7802b794e7a416af610", "fetched_at": "2026-08-28T04:05:10.841487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/PokemonGo"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:51:16.967413+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236df343345eb77e01cb08c4b12f9fc6b3cca580d8c9e7802b794e7a416af610", "fetched_at": "2026-08-28T04:05:10.841487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/PokemonGo"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:51:16.967413+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "236df343345eb77e01cb08c4b12f9fc6b3cca580d8c9e7802b794e7a416af610", "fetched_at": "2026-08-28T04:05:10.841487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/PokemonGo"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2242, "days_push": 2050, "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}}