{"id":21233175,"url":"https://github.com/stanfordspezi/spezifirebase","last_synced_at":"2025-12-11T22:53:26.479Z","repository":{"id":79564976,"uuid":"602411991","full_name":"StanfordSpezi/SpeziFirebase","owner":"StanfordSpezi","description":"Google Firebase Spezi Modules","archived":false,"fork":false,"pushed_at":"2025-06-23T18:58:04.000Z","size":179,"stargazers_count":6,"open_issues_count":8,"forks_count":1,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-07-06T00:28:31.806Z","etag":null,"topics":["cloud","firebase","ios","spezi","stanford","swift","swiftui","xcode"],"latest_commit_sha":null,"homepage":"https://swiftpackageindex.com/StanfordSpezi/SpeziFirebase/documentation/","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StanfordSpezi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":["spezi.sites.stanford.edu"]}},"created_at":"2023-02-16T06:35:04.000Z","updated_at":"2025-06-23T18:54:54.000Z","dependencies_parsed_at":"2025-04-12T09:57:08.492Z","dependency_job_id":"9a1b5250-c4b6-4b86-95ea-c2c357720bd8","html_url":"https://github.com/StanfordSpezi/SpeziFirebase","commit_stats":null,"previous_names":["StanfordBDHG/CardinalKitFirebase","stanfordbdhg/cardinalkitfirebase"],"tags_count":29,"template":false,"template_full_name":"StanfordBDHG/SwiftPackageTemplate","purl":"pkg:github/StanfordSpezi/SpeziFirebase","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StanfordSpezi%2FSpeziFirebase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StanfordSpezi%2FSpeziFirebase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StanfordSpezi%2FSpeziFirebase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StanfordSpezi%2FSpeziFirebase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StanfordSpezi","download_url":"https://codeload.github.com/StanfordSpezi/SpeziFirebase/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StanfordSpezi%2FSpeziFirebase/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264619001,"owners_count":23638389,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud","firebase","ios","spezi","stanford","swift","swiftui","xcode"],"created_at":"2024-11-20T23:56:19.966Z","updated_at":"2025-12-11T22:53:26.422Z","avatar_url":"https://github.com/StanfordSpezi.png","language":"Swift","funding_links":["spezi.sites.stanford.edu"],"categories":[],"sub_categories":[],"readme":"\u003c!--\n\nThis source file is part of the Stanford Spezi open-source project.\n\nSPDX-FileCopyrightText: 2022 Stanford University and the project authors (see CONTRIBUTORS.md)\n\nSPDX-License-Identifier: MIT\n  \n--\u003e\n\n# Spezi Firebase\n\n[![Build and Test](https://github.com/StanfordSpezi/SpeziFirebase/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/StanfordSpezi/SpeziFirebase/actions/workflows/build-and-test.yml)\n[![codecov](https://codecov.io/gh/StanfordSpezi/SpeziFirebase/branch/main/graph/badge.svg?token=LCRkf3e2lx)](https://codecov.io/gh/StanfordSpezi/SpeziFirebase)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7706899.svg)](https://doi.org/10.5281/zenodo.7706899)\n[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2FStanfordSpezi%2FSpeziFirebase%2Fbadge%3Ftype%3Dswift-versions)](https://swiftpackageindex.com/StanfordSpezi/SpeziFirebase)\n[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2FStanfordSpezi%2FSpeziFirebase%2Fbadge%3Ftype%3Dplatforms)](https://swiftpackageindex.com/StanfordSpezi/SpeziFirebase)\n\nIntegrate Google Firebase services into your Spezi application.\n\n## Overview\n\nThis Module allows you to use the [Google Firebase](https://firebase.google.com/) platform as a managed backend for\nauthentication and data storage in your apps built with the [Spezi framework](https://github.com/StanfordSpezi/Spezi).\n\nWe currently implement support for Authentication, Storage, and Firestore services.\n\n## Setup\n\nYou need to add the Spezi Firebase Swift package to\n[your app in Xcode](https://developer.apple.com/documentation/xcode/adding-package-dependencies-to-your-app#) or\n[Swift package](https://developer.apple.com/documentation/xcode/creating-a-standalone-swift-package-with-xcode#Add-a-dependency-on-another-Swift-package).\n\n\u003e [!IMPORTANT]  \n\u003e If your application is not yet configured to use Spezi, follow the [Spezi setup article](https://swiftpackageindex.com/stanfordspezi/spezi/documentation/spezi/initial-setup)#\n    to set up the core Spezi infrastructure.\n\n\n## Examples\n\nThe below section walks you through the necessary steps to set up the Spezi Firebase Module for your application.\n\n### 1. Set up your Firebase Account\n\nTo connect your app to the Firebase cloud platform, you will need to first create an account at\n[firebase.google.com](https://firebase.google.com) then start the process to\n[register a new iOS app](https://firebase.google.com/docs/ios/setup).\n\nOnce your Spezi app is registered with Firebase, place the generated `GoogleService-Info.plist` configuration file\ninto the root of your Xcode project.\nYou do not need to add the Firebase SDKs to your app or initialize Firebase in your app,\nsince the Spezi Firebase Module will handle these tasks for you.\n\nYou can also install and run the Firebase Local Emulator Suite for local development.\nTo do this, please follow the [installation instructions](https://firebase.google.com/docs/emulator-suite/install_and_configure).\n\n### 2. Add Spezi Firebase as a Dependency\n\nFirst, you will need to add the SpeziFirebase Swift package to\n[your app in Xcode](https://developer.apple.com/documentation/xcode/adding-package-dependencies-to-your-app#) or\n[Swift package](https://developer.apple.com/documentation/xcode/creating-a-standalone-swift-package-with-xcode#Add-a-dependency-on-another-Swift-package).\n\n### 3. Register the Spezi Firebase Modules\n\nIn the example below, we configure our Spezi application to use Firebase Authentication with both email \u0026 password login\nand Sign in With Apple, and Cloud Firestore for data storage.\n\n```swift\nimport Spezi\nimport SpeziAccount\nimport SpeziFirebaseAccount\nimport SpeziFirebaseStorage\nimport SpeziFirestore\nimport SwiftUI\n\n\nclass ExampleDelegate: SpeziAppDelegate {\n    override var configuration: Configuration {\n        Configuration {\n            AccountConfiguration(configuration: [\n                .requires(\\.userId),\n                .collects(\\.name)\n            ])\n            Firestore()\n            FirebaseAccountConfiguration[\n                authenticationMethods: [.emailAndPassword, .signInWithApple]\n            ]\n        }\n    }\n}\n```\n\nFor more information, please refer to the [API documentation](https://swiftpackageindex.com/StanfordSpezi/SpeziFirebase/documentation).\n\n\n## The Spezi Template Application\n\nThe Spezi Firebase Module comes pre-configured in the [Spezi Template Application](https://github.com/StanfordSpezi/SpeziTemplateApplication),\nwhich is a great way to get started on your Spezi Application.\n\n\n## Contributing\n\nContributions to this project are welcome. Please make sure to read the [contribution guidelines](https://github.com/StanfordSpezi/.github/blob/main/CONTRIBUTING.md) and the [contributor covenant code of conduct](https://github.com/StanfordSpezi/.github/blob/main/CODE_OF_CONDUCT.md) first.\n\n\n## License\n\nThis project is licensed under the MIT License. See [Licenses](https://github.com/StanfordSpezi/SpeziFirebase/tree/main/LICENSES) for more information.\n\n![Spezi Footer](https://raw.githubusercontent.com/StanfordSpezi/.github/main/assets/FooterLight.png#gh-light-mode-only)\n![Spezi Footer](https://raw.githubusercontent.com/StanfordSpezi/.github/main/assets/FooterDark.png#gh-dark-mode-only)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstanfordspezi%2Fspezifirebase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstanfordspezi%2Fspezifirebase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstanfordspezi%2Fspezifirebase/lists"}