explaingit

firebase/flutterfire

9,199DartAudience · developerComplexity · 3/5Setup · moderate

TLDR

FlutterFire is the official collection of plugins that connect Flutter apps to Firebase services, including authentication, Firestore database, Cloud Storage, push notifications, Crashlytics, and analytics.

Mindmap

mindmap
  root((flutterfire))
    Firebase services
      Authentication
      Firestore database
      Cloud Storage
      Push notifications
    Platforms
      Android iOS
      Web
      macOS beta
    How to use
      Add Dart package
      pub.dev registry
      Firebase console setup
    Tooling
      Melos
      Multi-package repo
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Add Firebase email, Google, or social sign-in authentication to a Flutter mobile or web app.

USE CASE 2

Store and sync real-time app data using Cloud Firestore in a Flutter project.

USE CASE 3

Send push notifications to Flutter app users via Firebase Cloud Messaging.

USE CASE 4

Automatically capture and report app crashes in production using the Crashlytics plugin.

Tech stack

DartFlutterFirebaseMelos

Getting it running

Difficulty · moderate Time to first run · 30min

Requires a Firebase project with google-services.json on Android and GoogleService-Info.plist on iOS configured before the app runs.

In plain English

FlutterFire is a collection of official plugins that connect Flutter apps to Firebase services. Flutter is Google's toolkit for building mobile, web, and desktop apps from a single codebase using the Dart programming language. Firebase is Google's platform for app backend services, offering things like user sign-in, real-time databases, file storage, push notifications, and analytics. These plugins are the bridge between the two. Each Firebase service has its own separate plugin in this repository. The stable plugins include authentication for signing users in, Cloud Firestore for a document database, Cloud Storage for files and images, Cloud Messaging for push notifications, Crashlytics for crash reporting, Analytics, and several others. Most plugins support Android, iOS, and web, with macOS support in beta and Windows support varying by plugin. The plugins are distributed as Dart packages on pub.dev, the official package repository for Flutter and Dart. You add them to your app's dependencies like any other Flutter package. Google maintains this repository officially alongside Firebase, making it the standard way to use Firebase in Flutter projects. The README focuses on linking out to documentation and the pub.dev package pages rather than explaining the underlying Firebase services in depth. Setup instructions live in the Firebase documentation, and each plugin links to its own documentation page there. A few sub-projects have been moved to their own separate repositories, including Firebase UI components and the Cloud Firestore ODM, which is a type-safe query layer for Firestore. The project uses a tool called Melos to manage this multi-package repository, since it contains many packages across different Firebase services. All packages are open source. This is the recommended starting point for adding Firebase to any Flutter app.

Copy-paste prompts

Prompt 1
I'm building a Flutter app and want Firebase email and password authentication. Which FlutterFire plugin do I add to pubspec.yaml and what's the minimal setup code?
Prompt 2
Show me how to read and write documents to Cloud Firestore from a Flutter app using the cloud_firestore plugin.
Prompt 3
How do I set up firebase_crashlytics in my Flutter app so crash reports appear in the Firebase console?
Prompt 4
I want push notifications in my Flutter app. Which FlutterFire plugin do I use and what's the basic Android and iOS setup?
Open on GitHub → Explain another repo

← firebase on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.