{"adoption": {"forks": 2155, "observed_at": "2026-08-28T04:10:05.159915+00:00", "stars": 7804}, "canonical_url": "https://ross.abutalabs.com/products/angularfire", "card": {"archived": false, "artifact_type": "library", "description": "Angular + Firebase = ❤️", "domain": ["web-development", "frontend", "databases", "developer-tools"], "enriched": true, "function": ["auth", "database", "web-framework", "middleware", "routing", "analytics", "sdk"], "health_score": 95, "homepage": "https://firebaseopensource.com/projects/angular/angularfire2", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["angular/angularfire"], "name": "angular/angularfire", "platform": ["cross-platform"], "pushed_at": "2026-08-21T22:37:04+00:00", "repo": "angular/angularfire", "stars": 7804, "tags": ["angular", "firebase", "firestore", "realtime-database", "rxjs", "ngrx", "ssr", "cloud-functions", "push-notifications", "offline-data", "real-time", "web-server", "nodejs"], "topics": ["firebase", "angular", "angularfire", "realtime-database", "cloud-firestore", "cloud-functions", "ngrx", "offline-data", "notifications", "realtime", "rxjs"], "urls": [], "use_cases": ["add firebase authentication to an angular app", "bind firestore collections to angular components with observables", "guard angular routes based on firebase auth state", "deploy an angular app to firebase hosting with one command", "use firebase realtime database with rxjs streams", "send push notifications with firebase cloud messaging in angular", "track page views in google analytics via the angular router", "server-side render an angular app backed by firebase"], "what_it_is": "AngularFire is the official Angular library wrapping the Firebase JS SDK, exposing Firebase services (Firestore, Realtime Database, Auth, Analytics, Cloud Messaging, etc.) through Angular-idiomatic dependency injection and RxJS observables. It includes schematics for setup and deployment, router guards for auth, zone-aware wrappers, and lazy-loading of Firebase modules.", "when_to_avoid": ["you use React, Vue, or another non-Angular framework", "you use a backend other than Firebase", "you need direct low-level control of the Firebase JS SDK without Angular abstractions", "your project does not use RxJS or Angular dependency injection conventions"], "when_to_choose": ["you are building an Angular application backed by Firebase services", "you want RxJS-observable bindings to Firestore or Realtime Database", "you need Firebase auth integrated with Angular router guards", "you want NgRx-friendly action-based APIs over Firebase data", "you want SSR-compatible, zone-aware Firebase integration"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/angularfire", "repo": "angular/angularfire", "role": "main", "score": 78}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.159915+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:34:37.155284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293a23ad22b4c17b51414c25c0feb89d686a5d13deec676da15e2e4a1eba6f10", "fetched_at": "2026-08-28T04:10:05.159915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angular/angularfire"}, {"content_hash": "aa352fc5f1200cf58e67477801c0d280c2dee3555580eecf4b260d99952c3af0", "fetched_at": "2026-08-29T08:31:06.800969+00:00", "kind": "homepage", "missing": false, "url": "https://firebaseopensource.com/projects/angular/angularfire2"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.159915+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:34:37.155284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293a23ad22b4c17b51414c25c0feb89d686a5d13deec676da15e2e4a1eba6f10", "fetched_at": "2026-08-28T04:10:05.159915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angular/angularfire"}, {"content_hash": "aa352fc5f1200cf58e67477801c0d280c2dee3555580eecf4b260d99952c3af0", "fetched_at": "2026-08-29T08:31:06.800969+00:00", "kind": "homepage", "missing": false, "url": "https://firebaseopensource.com/projects/angular/angularfire2"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:34:37.155284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293a23ad22b4c17b51414c25c0feb89d686a5d13deec676da15e2e4a1eba6f10", "fetched_at": "2026-08-28T04:10:05.159915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angular/angularfire"}, {"content_hash": "aa352fc5f1200cf58e67477801c0d280c2dee3555580eecf4b260d99952c3af0", "fetched_at": "2026-08-29T08:31:06.800969+00:00", "kind": "homepage", "missing": false, "url": "https://firebaseopensource.com/projects/angular/angularfire2"}], "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:10:05.159915+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.159915+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.159915+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:34:37.155284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293a23ad22b4c17b51414c25c0feb89d686a5d13deec676da15e2e4a1eba6f10", "fetched_at": "2026-08-28T04:10:05.159915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angular/angularfire"}, {"content_hash": "aa352fc5f1200cf58e67477801c0d280c2dee3555580eecf4b260d99952c3af0", "fetched_at": "2026-08-29T08:31:06.800969+00:00", "kind": "homepage", "missing": false, "url": "https://firebaseopensource.com/projects/angular/angularfire2"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.159915+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.159915+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:34:37.155284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293a23ad22b4c17b51414c25c0feb89d686a5d13deec676da15e2e4a1eba6f10", "fetched_at": "2026-08-28T04:10:05.159915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angular/angularfire"}, {"content_hash": "aa352fc5f1200cf58e67477801c0d280c2dee3555580eecf4b260d99952c3af0", "fetched_at": "2026-08-29T08:31:06.800969+00:00", "kind": "homepage", "missing": false, "url": "https://firebaseopensource.com/projects/angular/angularfire2"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.159915+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.159915+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.159915+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:34:37.155284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293a23ad22b4c17b51414c25c0feb89d686a5d13deec676da15e2e4a1eba6f10", "fetched_at": "2026-08-28T04:10:05.159915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angular/angularfire"}, {"content_hash": "aa352fc5f1200cf58e67477801c0d280c2dee3555580eecf4b260d99952c3af0", "fetched_at": "2026-08-29T08:31:06.800969+00:00", "kind": "homepage", "missing": false, "url": "https://firebaseopensource.com/projects/angular/angularfire2"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.159915+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.159915+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:34:37.155284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293a23ad22b4c17b51414c25c0feb89d686a5d13deec676da15e2e4a1eba6f10", "fetched_at": "2026-08-28T04:10:05.159915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angular/angularfire"}, {"content_hash": "aa352fc5f1200cf58e67477801c0d280c2dee3555580eecf4b260d99952c3af0", "fetched_at": "2026-08-29T08:31:06.800969+00:00", "kind": "homepage", "missing": false, "url": "https://firebaseopensource.com/projects/angular/angularfire2"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:34:37.155284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293a23ad22b4c17b51414c25c0feb89d686a5d13deec676da15e2e4a1eba6f10", "fetched_at": "2026-08-28T04:10:05.159915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angular/angularfire"}, {"content_hash": "aa352fc5f1200cf58e67477801c0d280c2dee3555580eecf4b260d99952c3af0", "fetched_at": "2026-08-29T08:31:06.800969+00:00", "kind": "homepage", "missing": false, "url": "https://firebaseopensource.com/projects/angular/angularfire2"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:34:37.155284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293a23ad22b4c17b51414c25c0feb89d686a5d13deec676da15e2e4a1eba6f10", "fetched_at": "2026-08-28T04:10:05.159915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angular/angularfire"}, {"content_hash": "aa352fc5f1200cf58e67477801c0d280c2dee3555580eecf4b260d99952c3af0", "fetched_at": "2026-08-29T08:31:06.800969+00:00", "kind": "homepage", "missing": false, "url": "https://firebaseopensource.com/projects/angular/angularfire2"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:34:37.155284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293a23ad22b4c17b51414c25c0feb89d686a5d13deec676da15e2e4a1eba6f10", "fetched_at": "2026-08-28T04:10:05.159915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angular/angularfire"}, {"content_hash": "aa352fc5f1200cf58e67477801c0d280c2dee3555580eecf4b260d99952c3af0", "fetched_at": "2026-08-29T08:31:06.800969+00:00", "kind": "homepage", "missing": false, "url": "https://firebaseopensource.com/projects/angular/angularfire2"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 40}, "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": 3887, "days_push": 12, "days_rel": 447, "gap_med": 27.5, "n_releases_24m": 5}, "score": 78, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}