{"adoption": {"forks": 207, "observed_at": "2026-08-28T04:03:14.625363+00:00", "stars": 1017}, "canonical_url": "https://ross.abutalabs.com/products/dnc-dshop", "card": {"archived": false, "artifact_type": "learning-resource", "description": null, "domain": ["microservices", "backend", "cloud-computing", "developer-tools", "tutorials"], "enriched": true, "function": ["microservices", "api-framework", "message-queue", "caching", "auth", "monitoring", "logging", "service-discovery", "secrets-management", "deployment", "ci-cd", "websocket", "api-gateway"], "health_score": 20, "homepage": null, "language": "Shell", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["devmentors/DNC-DShop"], "name": "devmentors/DNC-DShop", "platform": ["cloud", "self-hosted", "cross-platform"], "pushed_at": "2019-05-09T16:11:17+00:00", "repo": "devmentors/DNC-DShop", "stars": 1017, "tags": ["dotnet-core", "microservices-course", "cqrs", "ddd", "rabbitmq", "consul", "vault", "signalr", "rest-api", "sample-project", "devops", "docker", "web-server"], "topics": [], "urls": [], "use_cases": ["learn how to build microservices with .NET Core", "example of CQRS and event-driven architecture in ASP.NET Core", "reference implementation for RabbitMQ messaging in .NET", "how to set up service discovery with Consul and secrets with Vault", "sample microservices project with Docker Compose deployment", "learn monitoring and logging setup for distributed services", "study JWT authentication and API gateway patterns"], "what_it_is": "An open-source sample project and accompanying course demonstrating how to build distributed microservices with .NET Core. It covers REST APIs, CQRS, messaging with RabbitMQ, service discovery, monitoring, logging, and Docker-based deployment in a cloud-agnostic setup.", "when_to_avoid": ["you need a production-ready microservices framework rather than educational sample code", "your stack is not .NET / ASP.NET Core", "you need actively maintained code - the project dates from 2019 and serves mainly as course material"], "when_to_choose": ["you want a hands-on, end-to-end microservices example in .NET Core", "you are following the DevMentors Distributed .NET Core course", "you need a reference for wiring together RabbitMQ, Consul, Vault, and monitoring tools", "you want a cloud-agnostic microservices starter codebase"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dnc-dshop", "repo": "devmentors/DNC-DShop", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.625363+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:11:11.478859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4fdeee80d9b3cb64a04e8a67e17b2dc45d42c3c85aa0c1d8ec0745c06205eda", "fetched_at": "2026-08-28T04:03:14.625363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devmentors/DNC-DShop"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.625363+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:11:11.478859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4fdeee80d9b3cb64a04e8a67e17b2dc45d42c3c85aa0c1d8ec0745c06205eda", "fetched_at": "2026-08-28T04:03:14.625363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devmentors/DNC-DShop"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:11:11.478859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4fdeee80d9b3cb64a04e8a67e17b2dc45d42c3c85aa0c1d8ec0745c06205eda", "fetched_at": "2026-08-28T04:03:14.625363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devmentors/DNC-DShop"}], "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:14.625363+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.625363+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.625363+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:11:11.478859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4fdeee80d9b3cb64a04e8a67e17b2dc45d42c3c85aa0c1d8ec0745c06205eda", "fetched_at": "2026-08-28T04:03:14.625363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devmentors/DNC-DShop"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.625363+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.625363+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:11:11.478859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4fdeee80d9b3cb64a04e8a67e17b2dc45d42c3c85aa0c1d8ec0745c06205eda", "fetched_at": "2026-08-28T04:03:14.625363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devmentors/DNC-DShop"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.625363+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.625363+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.625363+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:11:11.478859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4fdeee80d9b3cb64a04e8a67e17b2dc45d42c3c85aa0c1d8ec0745c06205eda", "fetched_at": "2026-08-28T04:03:14.625363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devmentors/DNC-DShop"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.625363+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.625363+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:11:11.478859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4fdeee80d9b3cb64a04e8a67e17b2dc45d42c3c85aa0c1d8ec0745c06205eda", "fetched_at": "2026-08-28T04:03:14.625363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devmentors/DNC-DShop"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:11:11.478859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4fdeee80d9b3cb64a04e8a67e17b2dc45d42c3c85aa0c1d8ec0745c06205eda", "fetched_at": "2026-08-28T04:03:14.625363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devmentors/DNC-DShop"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:11:11.478859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4fdeee80d9b3cb64a04e8a67e17b2dc45d42c3c85aa0c1d8ec0745c06205eda", "fetched_at": "2026-08-28T04:03:14.625363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devmentors/DNC-DShop"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:11:11.478859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4fdeee80d9b3cb64a04e8a67e17b2dc45d42c3c85aa0c1d8ec0745c06205eda", "fetched_at": "2026-08-28T04:03:14.625363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devmentors/DNC-DShop"}], "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": 3128, "days_push": 2673, "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}}