{"adoption": {"forks": 560, "observed_at": "2026-08-28T04:04:40.473624+00:00", "stars": 1419}, "canonical_url": "https://ross.abutalabs.com/products/rude-java", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Java Practice Projects(SSM、Spring Boot、Spring Security、MinIO、Vue).   以Java语言为主的各种项目实践，涵盖各个业务、各个功能，并附上高质量文章讲解，其中一些甚至可以单开一个仓库。让你再也不用寻找各种框架demo、项目脚手架。", "domain": ["tutorials", "web-development", "backend", "developer-tools"], "enriched": true, "function": ["developer-tools", "auth", "authorization", "web-framework", "object-storage", "ui-components"], "health_score": 20, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["RudeCrab/rude-java"], "name": "RudeCrab/rude-java", "platform": ["jvm", "cross-platform"], "pushed_at": "2022-01-22T14:25:11+00:00", "repo": "RudeCrab/rude-java", "stars": 1419, "tags": ["java", "spring-boot", "spring-security", "ssm", "jwt", "rbac", "design-patterns", "minio", "vue", "practice-projects", "chinese-language"], "topics": ["java", "spring", "springboot", "spring-security", "rude-java", "ssm", "jwt", "design-patterns"], "urls": [], "use_cases": ["learn spring boot by example", "spring security jwt authentication demo", "rbac permission system example", "ssm integration tutorial", "minio object storage example", "java design patterns in practice", "backend api validation and exception handling example"], "what_it_is": "A collection of hands-on Java practice projects covering SSM, Spring Boot, Spring Security, JWT, RBAC, MinIO, and Vue, each paired with in-depth tutorial articles. It serves as a learning resource and demo/scaffold collection for Java backend development.", "when_to_avoid": ["you need a production-ready framework or maintained library", "you need up-to-date examples for the latest Spring versions, as the last release was in 2022", "you want English-language documentation"], "when_to_choose": ["you want runnable, article-backed Java project examples to learn frameworks by doing", "you need reference implementations for login/auth, RBAC, or MinIO integration", "you prefer practice-first tutorials over theory-heavy articles"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rude-java", "repo": "RudeCrab/rude-java", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.473624+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:37:51.476706+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7bd5de769e0d637db29d4b4cdf7d1132070b4f0b9111eac467ce537e8b91168", "fetched_at": "2026-08-28T04:04:40.473624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RudeCrab/rude-java"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.473624+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:37:51.476706+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7bd5de769e0d637db29d4b4cdf7d1132070b4f0b9111eac467ce537e8b91168", "fetched_at": "2026-08-28T04:04:40.473624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RudeCrab/rude-java"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:37:51.476706+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7bd5de769e0d637db29d4b4cdf7d1132070b4f0b9111eac467ce537e8b91168", "fetched_at": "2026-08-28T04:04:40.473624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RudeCrab/rude-java"}], "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:40.473624+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.473624+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.473624+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:37:51.476706+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7bd5de769e0d637db29d4b4cdf7d1132070b4f0b9111eac467ce537e8b91168", "fetched_at": "2026-08-28T04:04:40.473624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RudeCrab/rude-java"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.473624+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.473624+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:37:51.476706+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7bd5de769e0d637db29d4b4cdf7d1132070b4f0b9111eac467ce537e8b91168", "fetched_at": "2026-08-28T04:04:40.473624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RudeCrab/rude-java"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.473624+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.473624+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.473624+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:37:51.476706+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7bd5de769e0d637db29d4b4cdf7d1132070b4f0b9111eac467ce537e8b91168", "fetched_at": "2026-08-28T04:04:40.473624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RudeCrab/rude-java"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.473624+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:40.473624+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:37:51.476706+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7bd5de769e0d637db29d4b4cdf7d1132070b4f0b9111eac467ce537e8b91168", "fetched_at": "2026-08-28T04:04:40.473624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RudeCrab/rude-java"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:37:51.476706+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7bd5de769e0d637db29d4b4cdf7d1132070b4f0b9111eac467ce537e8b91168", "fetched_at": "2026-08-28T04:04:40.473624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RudeCrab/rude-java"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:37:51.476706+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7bd5de769e0d637db29d4b4cdf7d1132070b4f0b9111eac467ce537e8b91168", "fetched_at": "2026-08-28T04:04:40.473624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RudeCrab/rude-java"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:37:51.476706+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7bd5de769e0d637db29d4b4cdf7d1132070b4f0b9111eac467ce537e8b91168", "fetched_at": "2026-08-28T04:04:40.473624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RudeCrab/rude-java"}], "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": 2390, "days_push": 1684, "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}}