{"adoption": {"forks": 325, "observed_at": "2026-08-28T04:06:13.222232+00:00", "stars": 2095}, "canonical_url": "https://ross.abutalabs.com/products/spring-guide", "card": {"archived": false, "artifact_type": "learning-resource", "description": ":octocat: Spring 실전 가이드", "domain": ["web-development", "backend", "tutorials", "developer-tools"], "enriched": true, "function": ["testing", "error-handling", "web-framework", "documentation"], "health_score": 20, "homepage": null, "language": "Java", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["cheese10yun/spring-guide"], "name": "cheese10yun/spring-guide", "platform": ["jvm"], "pushed_at": "2023-07-24T16:04:11+00:00", "repo": "cheese10yun/spring-guide", "stars": 2095, "tags": ["spring-boot", "rest-api", "best-practices", "korean", "example-project", "test-strategy", "exception-handling", "spring"], "topics": ["spring", "guide", "test", "exception-handling"], "urls": [], "use_cases": ["learn spring boot testing strategy", "how to handle exceptions in spring rest api", "spring project directory structure best practices", "how big should a spring service class be", "calling external apis from spring boot", "spring boot rest api example project"], "what_it_is": "A Korean-language practical guide repository for building maintainable Spring Boot REST APIs, with example code and docs covering testing strategy, exception handling, domain objects, external API calls, service sizing, and project directory structure. It is a tutorial/reference codebase rather than a reusable library.", "when_to_avoid": ["you need a production-ready library or framework to add as a dependency", "you need English-language documentation", "you need an actively maintained project with a license and recent updates"], "when_to_choose": ["you are building Spring Boot REST APIs and want opinionated best practices", "you want concrete example code alongside written guides", "you read Korean and want a structured Spring learning resource"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/spring-guide", "repo": "cheese10yun/spring-guide", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.222232+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:54:38.787001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "57d82066578462e5708dddedf629b8df048fc5af42a771c50508cfc772fff792", "fetched_at": "2026-08-28T04:06:13.222232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cheese10yun/spring-guide"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.222232+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:54:38.787001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "57d82066578462e5708dddedf629b8df048fc5af42a771c50508cfc772fff792", "fetched_at": "2026-08-28T04:06:13.222232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cheese10yun/spring-guide"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:54:38.787001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "57d82066578462e5708dddedf629b8df048fc5af42a771c50508cfc772fff792", "fetched_at": "2026-08-28T04:06:13.222232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cheese10yun/spring-guide"}], "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:13.222232+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.222232+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.222232+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:54:38.787001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "57d82066578462e5708dddedf629b8df048fc5af42a771c50508cfc772fff792", "fetched_at": "2026-08-28T04:06:13.222232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cheese10yun/spring-guide"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.222232+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.222232+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:54:38.787001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "57d82066578462e5708dddedf629b8df048fc5af42a771c50508cfc772fff792", "fetched_at": "2026-08-28T04:06:13.222232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cheese10yun/spring-guide"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.222232+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.222232+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.222232+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:54:38.787001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "57d82066578462e5708dddedf629b8df048fc5af42a771c50508cfc772fff792", "fetched_at": "2026-08-28T04:06:13.222232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cheese10yun/spring-guide"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.222232+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.222232+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:54:38.787001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "57d82066578462e5708dddedf629b8df048fc5af42a771c50508cfc772fff792", "fetched_at": "2026-08-28T04:06:13.222232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cheese10yun/spring-guide"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:54:38.787001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "57d82066578462e5708dddedf629b8df048fc5af42a771c50508cfc772fff792", "fetched_at": "2026-08-28T04:06:13.222232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cheese10yun/spring-guide"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:54:38.787001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "57d82066578462e5708dddedf629b8df048fc5af42a771c50508cfc772fff792", "fetched_at": "2026-08-28T04:06:13.222232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cheese10yun/spring-guide"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:54:38.787001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "57d82066578462e5708dddedf629b8df048fc5af42a771c50508cfc772fff792", "fetched_at": "2026-08-28T04:06:13.222232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cheese10yun/spring-guide"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+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": 2762, "days_push": 1136, "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}}