dart_data_firebase

pub package CI License: BSD-3

Firebase Firestore backend adapter for dart_data — the SwiftData for Flutter.

Sync your offline-first local database with Firebase Firestore via the REST API. No Firebase SDK dependency — works on every Dart platform.

Installation

dependencies:
  dart_data: ^0.1.0
  dart_data_firebase: ^0.1.0

Usage

import 'package:dart_data/dart_data.dart';
import 'package:dart_data_firebase/dart_data_firebase.dart';

final adapter = FirebaseAdapter(projectId: 'my-project');
await adapter.initialize(BackendConfig(
  url: 'https://firestore.googleapis.com',
));

final syncEngine = SyncEngine(
  adapter: adapter,
  queue: OperationQueue(storage: sqliteStorage),
  statusNotifier: SyncStatusNotifier(),
  modelTypes: ['Todo'],
);

await syncEngine.sync();

Features

  • Firestore REST API — No native SDK needed. Pure Dart HTTP client.
  • Document mapping — Automatically converts between Dart maps and Firestore's typed-value format.
  • Firebase Auth — Built-in REST authentication support.
  • Push & pull — Full bidirectional sync with dart_data's operation queue.

Learn More

See the dart_data documentation for full framework docs.

License

BSD 3-Clause. See LICENSE.

Libraries

dart_data_firebase
Firebase (Firestore REST API) backend adapter for dart_data.