{"adoption": {"forks": 827, "observed_at": "2026-08-28T04:09:45.551771+00:00", "stars": 6592}, "canonical_url": "https://ross.abutalabs.com/products/clean-architecture-swiftui", "card": {"archived": false, "artifact_type": "learning-resource", "description": "SwiftUI sample app using Clean Architecture. Examples of working with SwiftData persistence, networking, dependency injection, unit testing, and more.", "domain": ["mobile-development", "tutorials", "web-development"], "enriched": true, "function": ["state-management", "http-client", "testing", "mobile-framework"], "health_score": 49, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["nalexn/clean-architecture-swiftui"], "name": "nalexn/clean-architecture-swiftui", "platform": [], "pushed_at": "2025-07-14T17:10:30+00:00", "repo": "nalexn/clean-architecture-swiftui", "stars": 6592, "tags": ["swiftui", "clean-architecture", "mvvm", "swiftdata", "combine", "sample-app", "dependency-injection", "unit-testing", "ios", "macos", "swift", "mobile"], "topics": ["swiftui", "swift", "architecture", "clean-architecture", "cleanarchitecture", "example-project", "swiftui-example", "mvvm", "interactor", "sample", "demo", "swift-data", "swift-testing", "swiftdata", "viewinspector"], "urls": [], "use_cases": ["learn clean architecture for swiftui apps", "example of structuring a swiftui project with mvvm", "see how to do dependency injection in swiftui", "sample app with swiftdata persistence and networking", "learn programmatic navigation and deep linking in swiftui", "reference for testing swiftui views with viewinspector"], "what_it_is": "A demo SwiftUI application showcasing Clean Architecture with decoupled presentation, business logic, and data access layers. It demonstrates SwiftData persistence, async-await networking, native dependency injection, programmatic navigation, and full test coverage including UI tests.", "when_to_avoid": ["you need a production-ready framework or library rather than a sample project", "your project targets UIKit or non-Apple platforms", "you need an architecture other than Clean Architecture or MVVM"], "when_to_choose": ["starting a new SwiftUI app and wanting a proven architecture template", "learning how to separate presentation, business logic, and data access layers in Swift", "looking for a fully tested example app covering networking, persistence, and DI"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/clean-architecture-swiftui", "repo": "nalexn/clean-architecture-swiftui", "role": "main", "score": 37}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.551771+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.734797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45496f8efc23458eb08800e2ee41bbb5d9109b775accf9d4be5c027ad8a99794", "fetched_at": "2026-08-28T04:09:45.551771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nalexn/clean-architecture-swiftui"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.551771+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.734797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45496f8efc23458eb08800e2ee41bbb5d9109b775accf9d4be5c027ad8a99794", "fetched_at": "2026-08-28T04:09:45.551771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nalexn/clean-architecture-swiftui"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.734797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45496f8efc23458eb08800e2ee41bbb5d9109b775accf9d4be5c027ad8a99794", "fetched_at": "2026-08-28T04:09:45.551771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nalexn/clean-architecture-swiftui"}], "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:09:45.551771+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.551771+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.551771+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.734797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45496f8efc23458eb08800e2ee41bbb5d9109b775accf9d4be5c027ad8a99794", "fetched_at": "2026-08-28T04:09:45.551771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nalexn/clean-architecture-swiftui"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.551771+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.551771+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.734797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45496f8efc23458eb08800e2ee41bbb5d9109b775accf9d4be5c027ad8a99794", "fetched_at": "2026-08-28T04:09:45.551771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nalexn/clean-architecture-swiftui"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.551771+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.551771+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.551771+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.734797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45496f8efc23458eb08800e2ee41bbb5d9109b775accf9d4be5c027ad8a99794", "fetched_at": "2026-08-28T04:09:45.551771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nalexn/clean-architecture-swiftui"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.551771+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.551771+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.734797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45496f8efc23458eb08800e2ee41bbb5d9109b775accf9d4be5c027ad8a99794", "fetched_at": "2026-08-28T04:09:45.551771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nalexn/clean-architecture-swiftui"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.734797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45496f8efc23458eb08800e2ee41bbb5d9109b775accf9d4be5c027ad8a99794", "fetched_at": "2026-08-28T04:09:45.551771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nalexn/clean-architecture-swiftui"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.734797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45496f8efc23458eb08800e2ee41bbb5d9109b775accf9d4be5c027ad8a99794", "fetched_at": "2026-08-28T04:09:45.551771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nalexn/clean-architecture-swiftui"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.734797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45496f8efc23458eb08800e2ee41bbb5d9109b775accf9d4be5c027ad8a99794", "fetched_at": "2026-08-28T04:09:45.551771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nalexn/clean-architecture-swiftui"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 31, "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": 2501, "days_push": 415, "days_rel": 633, "gap_med": null, "n_releases_24m": 1}, "score": 37, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}