{"adoption": {"forks": 546, "observed_at": "2026-08-28T04:05:37.177904+00:00", "stars": 1792}, "canonical_url": "https://ross.abutalabs.com/products/novelreader", "card": {"archived": false, "artifact_type": "application", "description": "仿照\"任阅\"的追书、看书的小说阅读器。重写\"任阅\"的代码，优化代码逻辑和代码结构，降低内存使用率。重写小说阅读器，支持网络阅读、本地阅读(支持分章，虚拟分章)。支持仿真翻页、上下滚动翻页等翻页效果。支持小说断点续传功能。优化用户使用体验。", "domain": ["mobile-development", "android-tools", "media", "developer-tools"], "enriched": true, "function": ["gui", "file-system", "search-engine", "caching"], "health_score": 20, "homepage": null, "language": "Java", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["newbiechen1024/NovelReader"], "name": "newbiechen1024/NovelReader", "platform": [], "pushed_at": "2020-03-15T02:54:51+00:00", "repo": "newbiechen1024/NovelReader", "stars": 1792, "tags": ["novel-reader", "ebook-reader", "page-turn-animation", "offline-reading", "mvp-architecture", "rxjava", "greendao", "book-reader", "android", "mobile"], "topics": ["book", "android", "reader", "mvp", "rxjava", "greendao", "lambda"], "urls": [], "use_cases": ["read web novels on android with page turn animations", "load and read local txt books with automatic chapter splitting", "download novel chapters for offline reading with resume support", "customize reading brightness, background, and font size", "track novel updates and continue reading from last position"], "what_it_is": "An Android novel/book reading app rewritten from the 'BookReader' (任阅) project, supporting online book tracking and local book reading with chapter splitting. It offers realistic page-turn animations, reading customization, and resume-from-breakpoint downloads with optimized memory usage.", "when_to_avoid": ["you need an actively maintained app - updates are irregular and Android 8+/9+ issues remain", "you need iOS or desktop support", "you need EPUB/PDF support - it focuses on txt novels"], "when_to_choose": ["you want an open-source Android novel reader with simulated page-flip effects", "you need offline reading of local txt files with fast, low-memory chapter loading", "you want a Java/MVP Android codebase to study or fork for a reading app"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/novelreader", "repo": "newbiechen1024/NovelReader", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.177904+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.933730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa7f0a2b743d178c0f2c240d73effd44ea34ceacc4570c38a59f598fc58d0144", "fetched_at": "2026-08-28T04:05:37.177904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbiechen1024/NovelReader"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.177904+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.933730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa7f0a2b743d178c0f2c240d73effd44ea34ceacc4570c38a59f598fc58d0144", "fetched_at": "2026-08-28T04:05:37.177904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbiechen1024/NovelReader"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.933730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa7f0a2b743d178c0f2c240d73effd44ea34ceacc4570c38a59f598fc58d0144", "fetched_at": "2026-08-28T04:05:37.177904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbiechen1024/NovelReader"}], "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:37.177904+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.177904+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.177904+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.933730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa7f0a2b743d178c0f2c240d73effd44ea34ceacc4570c38a59f598fc58d0144", "fetched_at": "2026-08-28T04:05:37.177904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbiechen1024/NovelReader"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.177904+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.177904+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.933730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa7f0a2b743d178c0f2c240d73effd44ea34ceacc4570c38a59f598fc58d0144", "fetched_at": "2026-08-28T04:05:37.177904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbiechen1024/NovelReader"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.177904+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.177904+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.177904+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.933730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa7f0a2b743d178c0f2c240d73effd44ea34ceacc4570c38a59f598fc58d0144", "fetched_at": "2026-08-28T04:05:37.177904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbiechen1024/NovelReader"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.177904+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.177904+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.933730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa7f0a2b743d178c0f2c240d73effd44ea34ceacc4570c38a59f598fc58d0144", "fetched_at": "2026-08-28T04:05:37.177904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbiechen1024/NovelReader"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.933730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa7f0a2b743d178c0f2c240d73effd44ea34ceacc4570c38a59f598fc58d0144", "fetched_at": "2026-08-28T04:05:37.177904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbiechen1024/NovelReader"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.933730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa7f0a2b743d178c0f2c240d73effd44ea34ceacc4570c38a59f598fc58d0144", "fetched_at": "2026-08-28T04:05:37.177904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbiechen1024/NovelReader"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.933730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa7f0a2b743d178c0f2c240d73effd44ea34ceacc4570c38a59f598fc58d0144", "fetched_at": "2026-08-28T04:05:37.177904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbiechen1024/NovelReader"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3387, "days_push": 2362, "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}}