firebase_facilitator

pub package version pub points

firebase_facilitator is a versatile package that streamlines CRUD operations with Firestore in Flutter applications. It provides mixins for handling common tasks like Create, Read, Update, and Delete, along with optional logging functionality.

Platform Support

Android iOS Web macOS Windows Linux

Requirements

  • Flutter >= 3.3.0
  • cloud_firestore: ^5.4.4
  • fake_cloud_firestore: ^3.0.3
  • firebase_auth: ^5.3.1 (optional, for authentication)
  • firebase_core: ^3.6.0
  • logger: ^2.4.0 (optional, for logging)

Usage

In this video, we demonstrate how to streamline Firestore CRUD operations in Flutter using the firebase_facilitator package. Learn how to quickly implement Firestore read and write functionality, as well as optional logging, with just a few lines of code. Watch as we create a service to fetch all documents from a Firestore collection and convert them into model objects. This package helps save time and effort, making your Firestore integration more efficient.

Everything Is AWESOME

To use the firebase_facilitator package, simply import the necessary mixins and integrate them into your data repository class for seamless Firestore operations.

import 'package:firebase_facilitator/mixin/crud_repos.dart';
import 'package:firebase_facilitator/mixin/firestore_read_service.dart';
import 'package:firebase_facilitator/mixin/firestore_write_service.dart';
import 'package:firebase_facilitator/mixin/logger_service.dart';

class ReadWriteReposExample
    with FirestoreReadRepository, FirestoreWriteRepository {
  @override
  FirestoreReadService get firestoreReadService => FirestoreServiceImpl();

  @override
  FirestoreWriteService get firestoreWriteService =>
      FirestoreWriteServiceImpl();

  @override
  LoggerService? get loggerService => LoggerServiceImpl(true); // Optional

  @override
  String get collection => "collection_example";
}

The ReadWriteReposExample class handles Firestore operations like adding, fetching, and deleting documents, allowing developers to focus on business logic while abstracting the complexity of Firestore.