{"adoption": {"forks": 187, "observed_at": "2026-08-28T04:04:17.636680+00:00", "stars": 1301}, "canonical_url": "https://ross.abutalabs.com/products/awesome-spring", "card": {"archived": false, "artifact_type": "learning-resource", "description": "A curated list of awesome books, tutorials, courses, and resources for the Spring framework ecosystem.", "domain": ["developer-tools", "tutorials", "awesome-lists", "web-development", "backend"], "enriched": true, "function": ["documentation"], "health_score": 20, "homepage": null, "language": null, "license": "CC0-1.0", "license_family": "permissive", "maturity": "active", "member_repos": ["ThomasVitale/awesome-spring"], "name": "ThomasVitale/awesome-spring", "platform": ["jvm"], "pushed_at": "2024-04-12T10:38:50+00:00", "repo": "ThomasVitale/awesome-spring", "stars": 1301, "tags": ["awesome-list", "spring", "spring-boot", "spring-security", "spring-cloud", "spring-data", "curated-resources", "java"], "topics": ["awesome-list", "awesome", "spring", "spring-boot", "spring-security", "spring-cloud", "spring-framework", "spring-data"], "urls": [], "use_cases": ["find books to learn Spring Boot", "discover Spring tutorials and courses", "learning resources for Spring Security", "get started with the Spring framework", "find podcasts and blogs about Spring", "study materials for Spring Cloud microservices"], "what_it_is": "A curated list of books, tutorials, courses, podcasts, and other learning resources for the Spring framework ecosystem. It serves as a reference catalog for developers learning Spring Boot, Spring Cloud, Spring Security, and Spring Data.", "when_to_avoid": ["you need runnable code or a library dependency rather than learning material", "you want documentation for a specific Spring project version", "you are not working in the Java/JVM ecosystem"], "when_to_choose": ["you are learning the Spring ecosystem and want vetted books, courses, and tutorials", "you want a single curated index of Spring community resources", "you are a Java developer looking for structured Spring learning paths"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/awesome-spring", "repo": "ThomasVitale/awesome-spring", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.636680+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:52:13.805424+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b14901219722cceee38122803c4846610289a2fbc0819058b3826827db1240b", "fetched_at": "2026-08-28T04:04:17.636680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThomasVitale/awesome-spring"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.636680+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:52:13.805424+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b14901219722cceee38122803c4846610289a2fbc0819058b3826827db1240b", "fetched_at": "2026-08-28T04:04:17.636680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThomasVitale/awesome-spring"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:52:13.805424+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b14901219722cceee38122803c4846610289a2fbc0819058b3826827db1240b", "fetched_at": "2026-08-28T04:04:17.636680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThomasVitale/awesome-spring"}], "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:17.636680+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.636680+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.636680+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:52:13.805424+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b14901219722cceee38122803c4846610289a2fbc0819058b3826827db1240b", "fetched_at": "2026-08-28T04:04:17.636680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThomasVitale/awesome-spring"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.636680+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.636680+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:52:13.805424+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b14901219722cceee38122803c4846610289a2fbc0819058b3826827db1240b", "fetched_at": "2026-08-28T04:04:17.636680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThomasVitale/awesome-spring"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.636680+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.636680+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.636680+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:52:13.805424+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b14901219722cceee38122803c4846610289a2fbc0819058b3826827db1240b", "fetched_at": "2026-08-28T04:04:17.636680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThomasVitale/awesome-spring"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.636680+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.636680+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:52:13.805424+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b14901219722cceee38122803c4846610289a2fbc0819058b3826827db1240b", "fetched_at": "2026-08-28T04:04:17.636680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThomasVitale/awesome-spring"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:52:13.805424+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b14901219722cceee38122803c4846610289a2fbc0819058b3826827db1240b", "fetched_at": "2026-08-28T04:04:17.636680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThomasVitale/awesome-spring"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:52:13.805424+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b14901219722cceee38122803c4846610289a2fbc0819058b3826827db1240b", "fetched_at": "2026-08-28T04:04:17.636680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThomasVitale/awesome-spring"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:52:13.805424+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b14901219722cceee38122803c4846610289a2fbc0819058b3826827db1240b", "fetched_at": "2026-08-28T04:04:17.636680+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ThomasVitale/awesome-spring"}], "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": 2187, "days_push": 873, "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}}