{"adoption": {"forks": 626, "observed_at": "2026-08-28T04:04:27.923105+00:00", "stars": 1349}, "canonical_url": "https://ross.abutalabs.com/products/quickapp", "card": {"archived": false, "artifact_type": "framework", "description": "AI-ready reference architecture for Angular / ASP.NET Core projects. A hardened foundation with secure authentication, authorization, role and user management, and consistent patterns designed to be safely extended by AI tools. Stop letting AI hallucinate your auth and DB logic - give it a production-grade foundation to build on.", "domain": ["web-development", "backend", "frontend", "security", "developer-tools", "artificial-intelligence"], "enriched": true, "function": ["auth", "authorization", "web-framework", "api-framework", "middleware", "routing", "state-management", "ui-components"], "health_score": 72, "homepage": "https://www.ebenmonney.com/quickapp", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["emonney/QuickApp"], "name": "emonney/QuickApp", "platform": ["dotnet", "cross-platform"], "pushed_at": "2026-01-03T17:32:32+00:00", "repo": "emonney/QuickApp", "stars": 1349, "tags": ["boilerplate", "starter-template", "aspnet-core", "angular", "identityserver", "ai-assisted-development", "full-stack", "project-template", "role-management", "user-management", "typescript", "web-server"], "topics": ["template-project", "asp-net-core", "angular", "rapid-development", "rad", "aspnet-core", "aspnetcore", "identityserver4", "template", "ai", "ai-template"], "urls": [], "use_cases": ["bootstrap an Angular and ASP.NET Core full-stack project", "add secure authentication and role-based authorization to a web app", "give AI coding assistants a reliable codebase foundation to extend", "set up user and role management with a consistent architecture", "start a production-grade admin dashboard web application", "avoid AI-generated insecure auth and database logic"], "what_it_is": "QuickApp is an opinionated full-stack project template combining Angular 21 and ASP.NET Core 10 with pre-built authentication, authorization, role/user management, and consistent architectural patterns. It is designed as a hardened, AI-ready reference foundation so AI coding tools can safely extend the application without hallucinating security-critical logic.", "when_to_avoid": ["your stack is not Angular with ASP.NET Core", "you need a minimal, unopinionated scaffold you can shape freely", "you already have an established codebase and auth system", "you need a microservices or non-CRUD architecture the template does not target"], "when_to_choose": ["starting a new Angular + ASP.NET Core application and wanting auth and user management out of the box", "using AI tools like Copilot or Cursor and wanting guardrails against hallucinated security code", "building an internal business app that needs role-based access control quickly", "you want an opinionated, consistent architecture for a full-stack .NET/Angular team"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/quickapp", "repo": "emonney/QuickApp", "role": "main", "score": 65}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.923105+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:42:21.509652+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4cdd0bc2c88f4f3d0cd9650857ad367641cfc1abeed4cfba96cb6e84ca22970d", "fetched_at": "2026-08-28T04:04:27.923105+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emonney/QuickApp"}, {"content_hash": "8a15e81442b305d1e3d25bbdf22c645bb88042c9498e45aa58865ba752032d1e", "fetched_at": "2026-08-29T12:01:39.049478+00:00", "kind": "homepage", "missing": false, "url": "https://www.ebenmonney.com/quickapp"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.923105+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:42:21.509652+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4cdd0bc2c88f4f3d0cd9650857ad367641cfc1abeed4cfba96cb6e84ca22970d", "fetched_at": "2026-08-28T04:04:27.923105+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emonney/QuickApp"}, {"content_hash": "8a15e81442b305d1e3d25bbdf22c645bb88042c9498e45aa58865ba752032d1e", "fetched_at": "2026-08-29T12:01:39.049478+00:00", "kind": "homepage", "missing": false, "url": "https://www.ebenmonney.com/quickapp"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:42:21.509652+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4cdd0bc2c88f4f3d0cd9650857ad367641cfc1abeed4cfba96cb6e84ca22970d", "fetched_at": "2026-08-28T04:04:27.923105+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emonney/QuickApp"}, {"content_hash": "8a15e81442b305d1e3d25bbdf22c645bb88042c9498e45aa58865ba752032d1e", "fetched_at": "2026-08-29T12:01:39.049478+00:00", "kind": "homepage", "missing": false, "url": "https://www.ebenmonney.com/quickapp"}], "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:27.923105+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.923105+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.923105+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:42:21.509652+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4cdd0bc2c88f4f3d0cd9650857ad367641cfc1abeed4cfba96cb6e84ca22970d", "fetched_at": "2026-08-28T04:04:27.923105+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emonney/QuickApp"}, {"content_hash": "8a15e81442b305d1e3d25bbdf22c645bb88042c9498e45aa58865ba752032d1e", "fetched_at": "2026-08-29T12:01:39.049478+00:00", "kind": "homepage", "missing": false, "url": "https://www.ebenmonney.com/quickapp"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.923105+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.923105+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:42:21.509652+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4cdd0bc2c88f4f3d0cd9650857ad367641cfc1abeed4cfba96cb6e84ca22970d", "fetched_at": "2026-08-28T04:04:27.923105+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emonney/QuickApp"}, {"content_hash": "8a15e81442b305d1e3d25bbdf22c645bb88042c9498e45aa58865ba752032d1e", "fetched_at": "2026-08-29T12:01:39.049478+00:00", "kind": "homepage", "missing": false, "url": "https://www.ebenmonney.com/quickapp"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.923105+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.923105+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.923105+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:42:21.509652+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4cdd0bc2c88f4f3d0cd9650857ad367641cfc1abeed4cfba96cb6e84ca22970d", "fetched_at": "2026-08-28T04:04:27.923105+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emonney/QuickApp"}, {"content_hash": "8a15e81442b305d1e3d25bbdf22c645bb88042c9498e45aa58865ba752032d1e", "fetched_at": "2026-08-29T12:01:39.049478+00:00", "kind": "homepage", "missing": false, "url": "https://www.ebenmonney.com/quickapp"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.923105+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.923105+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:42:21.509652+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4cdd0bc2c88f4f3d0cd9650857ad367641cfc1abeed4cfba96cb6e84ca22970d", "fetched_at": "2026-08-28T04:04:27.923105+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emonney/QuickApp"}, {"content_hash": "8a15e81442b305d1e3d25bbdf22c645bb88042c9498e45aa58865ba752032d1e", "fetched_at": "2026-08-29T12:01:39.049478+00:00", "kind": "homepage", "missing": false, "url": "https://www.ebenmonney.com/quickapp"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:42:21.509652+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4cdd0bc2c88f4f3d0cd9650857ad367641cfc1abeed4cfba96cb6e84ca22970d", "fetched_at": "2026-08-28T04:04:27.923105+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emonney/QuickApp"}, {"content_hash": "8a15e81442b305d1e3d25bbdf22c645bb88042c9498e45aa58865ba752032d1e", "fetched_at": "2026-08-29T12:01:39.049478+00:00", "kind": "homepage", "missing": false, "url": "https://www.ebenmonney.com/quickapp"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:42:21.509652+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4cdd0bc2c88f4f3d0cd9650857ad367641cfc1abeed4cfba96cb6e84ca22970d", "fetched_at": "2026-08-28T04:04:27.923105+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emonney/QuickApp"}, {"content_hash": "8a15e81442b305d1e3d25bbdf22c645bb88042c9498e45aa58865ba752032d1e", "fetched_at": "2026-08-29T12:01:39.049478+00:00", "kind": "homepage", "missing": false, "url": "https://www.ebenmonney.com/quickapp"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:42:21.509652+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4cdd0bc2c88f4f3d0cd9650857ad367641cfc1abeed4cfba96cb6e84ca22970d", "fetched_at": "2026-08-28T04:04:27.923105+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emonney/QuickApp"}, {"content_hash": "8a15e81442b305d1e3d25bbdf22c645bb88042c9498e45aa58865ba752032d1e", "fetched_at": "2026-08-29T12:01:39.049478+00:00", "kind": "homepage", "missing": false, "url": "https://www.ebenmonney.com/quickapp"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 60, "longevity": 100, "rhythm": 51}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3478, "days_push": 242, "days_rel": 249, "gap_med": 66, "n_releases_24m": 4}, "score": 65, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}