{"adoption": {"forks": 278, "observed_at": "2026-08-28T04:05:23.910742+00:00", "stars": 1696}, "canonical_url": "https://ross.abutalabs.com/products/go-rest-api", "card": {"archived": false, "artifact_type": "learning-resource", "description": "An idiomatic Go REST API starter kit (boilerplate) following the SOLID principles and Clean Architecture", "domain": ["backend", "web-development", "developer-tools", "apis"], "enriched": true, "function": ["api-framework", "http-server", "auth", "logging", "testing", "orm"], "health_score": 20, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["qiangxue/go-rest-api"], "name": "qiangxue/go-rest-api", "platform": ["go", "windows"], "pushed_at": "2022-02-07T01:35:15+00:00", "repo": "qiangxue/go-rest-api", "stars": 1696, "tags": ["rest-api", "clean-architecture", "solid-principles", "starter-kit", "jwt", "crud", "database-migration", "postgresql", "boilerplate", "docker", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["bootstrap a new Go REST API project", "learn clean architecture in Go", "starter template with JWT authentication", "Go backend project structure with CRUD and migrations", "idiomatic Go API server skeleton", "example of testable Go web service"], "what_it_is": "A Go boilerplate/starter kit for building RESTful API services following SOLID principles and Clean Architecture. It ships with JWT authentication, CRUD endpoints, structured logging, database migrations, validation, and full test coverage out of the box.", "when_to_avoid": ["you need a framework-agnostic or micro-framework-free setup", "the project's chosen libraries (ozzo-routing, ozzo-dbx) don't fit your stack", "you need actively evolving features - latest release is 2022 and it's in maintenance mode"], "when_to_choose": ["starting a new Go REST API service and wanting a proven structure", "you want SOLID/clean-architecture conventions with batteries included", "you need JWT auth, migrations, validation, and logging prewired"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/go-rest-api", "repo": "qiangxue/go-rest-api", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.910742+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:32:30.553751+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3e8f180c8f1875814e6225811ce3f080dadba2f8a90440a6c8e27628d3bb8e1", "fetched_at": "2026-08-28T04:05:23.910742+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qiangxue/go-rest-api"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.910742+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:32:30.553751+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3e8f180c8f1875814e6225811ce3f080dadba2f8a90440a6c8e27628d3bb8e1", "fetched_at": "2026-08-28T04:05:23.910742+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qiangxue/go-rest-api"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:32:30.553751+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3e8f180c8f1875814e6225811ce3f080dadba2f8a90440a6c8e27628d3bb8e1", "fetched_at": "2026-08-28T04:05:23.910742+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qiangxue/go-rest-api"}], "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:05:23.910742+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.910742+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.910742+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:32:30.553751+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3e8f180c8f1875814e6225811ce3f080dadba2f8a90440a6c8e27628d3bb8e1", "fetched_at": "2026-08-28T04:05:23.910742+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qiangxue/go-rest-api"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.910742+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.910742+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:32:30.553751+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3e8f180c8f1875814e6225811ce3f080dadba2f8a90440a6c8e27628d3bb8e1", "fetched_at": "2026-08-28T04:05:23.910742+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qiangxue/go-rest-api"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.910742+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.910742+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.910742+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:32:30.553751+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3e8f180c8f1875814e6225811ce3f080dadba2f8a90440a6c8e27628d3bb8e1", "fetched_at": "2026-08-28T04:05:23.910742+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qiangxue/go-rest-api"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.910742+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:23.910742+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:32:30.553751+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3e8f180c8f1875814e6225811ce3f080dadba2f8a90440a6c8e27628d3bb8e1", "fetched_at": "2026-08-28T04:05:23.910742+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qiangxue/go-rest-api"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:32:30.553751+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3e8f180c8f1875814e6225811ce3f080dadba2f8a90440a6c8e27628d3bb8e1", "fetched_at": "2026-08-28T04:05:23.910742+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qiangxue/go-rest-api"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:32:30.553751+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3e8f180c8f1875814e6225811ce3f080dadba2f8a90440a6c8e27628d3bb8e1", "fetched_at": "2026-08-28T04:05:23.910742+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qiangxue/go-rest-api"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:32:30.553751+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3e8f180c8f1875814e6225811ce3f080dadba2f8a90440a6c8e27628d3bb8e1", "fetched_at": "2026-08-28T04:05:23.910742+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qiangxue/go-rest-api"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 2406, "days_push": 1669, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}