{"adoption": {"forks": 1443, "observed_at": "2026-08-28T04:03:55.357806+00:00", "stars": 1188}, "canonical_url": "https://ross.abutalabs.com/products/spring-master-class", "card": {"archived": false, "artifact_type": "learning-resource", "description": "An updated introduction to the Spring Framework 5. Become an Expert understanding the core features of Spring In Depth. You would write Unit Tests, AOP, JDBC and JPA code during the course.  Includes introductions to Spring Boot, JPA, Eclipse, Maven, JUnit and Mockito.", "domain": ["web-development", "tutorials", "backend", "developer-tools"], "enriched": true, "function": ["developer-tools", "testing", "database"], "health_score": 20, "homepage": "https://github.com/in28minutes/learn", "language": "Java", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["in28minutes/spring-master-class"], "name": "in28minutes/spring-master-class", "platform": ["jvm", "cross-platform"], "pushed_at": "2024-04-12T16:27:28+00:00", "repo": "in28minutes/spring-master-class", "stars": 1188, "tags": ["spring-framework", "spring-boot", "java", "course", "tutorial", "jpa", "mockito", "maven", "unit-testing", "aop"], "topics": [], "urls": [], "use_cases": ["learn spring framework from scratch", "understand dependency injection and IOC in spring", "learn spring boot basics with examples", "practice writing unit tests with junit and mockito", "learn spring mvc and build a web application step by step", "understand spring aop jdbc and jpa", "get started with maven and eclipse for java development"], "what_it_is": "A companion code repository for an in28Minutes Udemy course teaching the Spring Framework 5 from beginner to expert, covering dependency injection, Spring MVC, Spring Boot, AOP, JDBC, and JPA. It includes example projects and exercises using Eclipse, Maven, JUnit, and Mockito.", "when_to_avoid": ["you need production-ready Spring code or a maintained library to depend on", "you want documentation or a course not tied to the in28Minutes Udemy videos", "you need advanced or up-to-date coverage of the latest Spring versions"], "when_to_choose": ["you are a Java developer wanting a structured, hands-on introduction to Spring and Spring Boot", "you prefer learning by running example code alongside video course content", "you want to learn Spring fundamentals together with testing tools like JUnit and Mockito"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/spring-master-class", "repo": "in28minutes/spring-master-class", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.357806+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:23:36.635641+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1a8955fb60bf29822a2b2996f02edbe8845a9f0b28ac2a1eab6016a3a3f6ec", "fetched_at": "2026-08-28T04:03:55.357806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/in28minutes/spring-master-class"}, {"content_hash": "dc99cf3efa38158e8a6e13693e8c9cb1c29bf3e59aadb2819346e9127512ddc6", "fetched_at": "2026-08-29T12:30:32.108981+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/in28minutes/learn"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.357806+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:23:36.635641+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1a8955fb60bf29822a2b2996f02edbe8845a9f0b28ac2a1eab6016a3a3f6ec", "fetched_at": "2026-08-28T04:03:55.357806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/in28minutes/spring-master-class"}, {"content_hash": "dc99cf3efa38158e8a6e13693e8c9cb1c29bf3e59aadb2819346e9127512ddc6", "fetched_at": "2026-08-29T12:30:32.108981+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/in28minutes/learn"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:23:36.635641+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1a8955fb60bf29822a2b2996f02edbe8845a9f0b28ac2a1eab6016a3a3f6ec", "fetched_at": "2026-08-28T04:03:55.357806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/in28minutes/spring-master-class"}, {"content_hash": "dc99cf3efa38158e8a6e13693e8c9cb1c29bf3e59aadb2819346e9127512ddc6", "fetched_at": "2026-08-29T12:30:32.108981+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/in28minutes/learn"}], "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:03:55.357806+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.357806+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.357806+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:23:36.635641+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1a8955fb60bf29822a2b2996f02edbe8845a9f0b28ac2a1eab6016a3a3f6ec", "fetched_at": "2026-08-28T04:03:55.357806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/in28minutes/spring-master-class"}, {"content_hash": "dc99cf3efa38158e8a6e13693e8c9cb1c29bf3e59aadb2819346e9127512ddc6", "fetched_at": "2026-08-29T12:30:32.108981+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/in28minutes/learn"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.357806+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.357806+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:23:36.635641+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1a8955fb60bf29822a2b2996f02edbe8845a9f0b28ac2a1eab6016a3a3f6ec", "fetched_at": "2026-08-28T04:03:55.357806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/in28minutes/spring-master-class"}, {"content_hash": "dc99cf3efa38158e8a6e13693e8c9cb1c29bf3e59aadb2819346e9127512ddc6", "fetched_at": "2026-08-29T12:30:32.108981+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/in28minutes/learn"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.357806+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.357806+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.357806+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:23:36.635641+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1a8955fb60bf29822a2b2996f02edbe8845a9f0b28ac2a1eab6016a3a3f6ec", "fetched_at": "2026-08-28T04:03:55.357806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/in28minutes/spring-master-class"}, {"content_hash": "dc99cf3efa38158e8a6e13693e8c9cb1c29bf3e59aadb2819346e9127512ddc6", "fetched_at": "2026-08-29T12:30:32.108981+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/in28minutes/learn"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.357806+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.357806+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:23:36.635641+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1a8955fb60bf29822a2b2996f02edbe8845a9f0b28ac2a1eab6016a3a3f6ec", "fetched_at": "2026-08-28T04:03:55.357806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/in28minutes/spring-master-class"}, {"content_hash": "dc99cf3efa38158e8a6e13693e8c9cb1c29bf3e59aadb2819346e9127512ddc6", "fetched_at": "2026-08-29T12:30:32.108981+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/in28minutes/learn"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:23:36.635641+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1a8955fb60bf29822a2b2996f02edbe8845a9f0b28ac2a1eab6016a3a3f6ec", "fetched_at": "2026-08-28T04:03:55.357806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/in28minutes/spring-master-class"}, {"content_hash": "dc99cf3efa38158e8a6e13693e8c9cb1c29bf3e59aadb2819346e9127512ddc6", "fetched_at": "2026-08-29T12:30:32.108981+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/in28minutes/learn"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:23:36.635641+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1a8955fb60bf29822a2b2996f02edbe8845a9f0b28ac2a1eab6016a3a3f6ec", "fetched_at": "2026-08-28T04:03:55.357806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/in28minutes/spring-master-class"}, {"content_hash": "dc99cf3efa38158e8a6e13693e8c9cb1c29bf3e59aadb2819346e9127512ddc6", "fetched_at": "2026-08-29T12:30:32.108981+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/in28minutes/learn"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:23:36.635641+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1a8955fb60bf29822a2b2996f02edbe8845a9f0b28ac2a1eab6016a3a3f6ec", "fetched_at": "2026-08-28T04:03:55.357806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/in28minutes/spring-master-class"}, {"content_hash": "dc99cf3efa38158e8a6e13693e8c9cb1c29bf3e59aadb2819346e9127512ddc6", "fetched_at": "2026-08-29T12:30:32.108981+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/in28minutes/learn"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+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": 3313, "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}}