{"adoption": {"forks": 146, "observed_at": "2026-08-28T04:04:29.492051+00:00", "stars": 1357}, "canonical_url": "https://ross.abutalabs.com/products/node-practice", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Node.js 实践教程", "domain": ["developer-tools", "backend", "tutorials", "web-development"], "enriched": true, "function": ["developer-tools", "http-client", "http-server", "orm", "web-scraping", "database"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["ElemeFE/node-practice"], "name": "ElemeFE/node-practice", "platform": [], "pushed_at": "2017-08-21T11:13:00+00:00", "repo": "ElemeFE/node-practice", "stars": 1357, "tags": ["nodejs-tutorial", "control-flow", "async", "promise", "koa", "chinese-language", "video-lessons", "nodejs", "javascript"], "topics": [], "urls": [], "use_cases": ["learn node.js async control flow by implementing promise and co", "understand how koa works by building it from scratch", "practice writing an http server and client in node", "learn to implement a redis client or mysql orm", "find a structured node.js advanced tutorial with videos"], "what_it_is": "A Node.js practice tutorial from ElemeFE that teaches advanced Node.js concepts by implementing well-known modules like Promise, co, koa, HTTP clients/servers, and Redis clients. Each lesson includes Markdown write-ups and accompanying videos.", "when_to_avoid": ["you need production-ready libraries rather than educational implementations", "you want exhaustive error handling and edge-case coverage", "you need an actively updated course - the outline is incomplete and updates are sporadic"], "when_to_choose": ["you learn best by reimplementing well-known modules from basic principles", "you want Chinese-language Node.js tutorials with video walkthroughs", "you already know Node basics and want deeper understanding of async and internals"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/node-practice", "repo": "ElemeFE/node-practice", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.492051+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:41:48.209983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49c690b25f887bc9e3ffe087cc648123b64f7eab635557414d9a621594cd7013", "fetched_at": "2026-08-28T04:04:29.492051+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ElemeFE/node-practice"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.492051+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:41:48.209983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49c690b25f887bc9e3ffe087cc648123b64f7eab635557414d9a621594cd7013", "fetched_at": "2026-08-28T04:04:29.492051+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ElemeFE/node-practice"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:41:48.209983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49c690b25f887bc9e3ffe087cc648123b64f7eab635557414d9a621594cd7013", "fetched_at": "2026-08-28T04:04:29.492051+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ElemeFE/node-practice"}], "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:04:29.492051+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.492051+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.492051+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:41:48.209983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49c690b25f887bc9e3ffe087cc648123b64f7eab635557414d9a621594cd7013", "fetched_at": "2026-08-28T04:04:29.492051+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ElemeFE/node-practice"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.492051+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.492051+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:41:48.209983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49c690b25f887bc9e3ffe087cc648123b64f7eab635557414d9a621594cd7013", "fetched_at": "2026-08-28T04:04:29.492051+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ElemeFE/node-practice"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.492051+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.492051+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.492051+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:41:48.209983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49c690b25f887bc9e3ffe087cc648123b64f7eab635557414d9a621594cd7013", "fetched_at": "2026-08-28T04:04:29.492051+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ElemeFE/node-practice"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.492051+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.492051+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:41:48.209983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49c690b25f887bc9e3ffe087cc648123b64f7eab635557414d9a621594cd7013", "fetched_at": "2026-08-28T04:04:29.492051+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ElemeFE/node-practice"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:41:48.209983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49c690b25f887bc9e3ffe087cc648123b64f7eab635557414d9a621594cd7013", "fetched_at": "2026-08-28T04:04:29.492051+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ElemeFE/node-practice"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:41:48.209983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49c690b25f887bc9e3ffe087cc648123b64f7eab635557414d9a621594cd7013", "fetched_at": "2026-08-28T04:04:29.492051+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ElemeFE/node-practice"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:41:48.209983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49c690b25f887bc9e3ffe087cc648123b64f7eab635557414d9a621594cd7013", "fetched_at": "2026-08-28T04:04:29.492051+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ElemeFE/node-practice"}], "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": 3448, "days_push": 3299, "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}}