firebase_facilitator 0.0.3 copy "firebase_facilitator: ^0.0.3" to clipboard
firebase_facilitator: ^0.0.3 copied to clipboard

A Firebase CRUD package simplifying Firestore operations with optional logging and error tracking, designed for scalable and maintainable Flutter apps.

firebase_facilitator_example #

pub package pub points firebase_facilitator

A package that provides mixins for facilitating CRUD operations with Firestore in Flutter applications.

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
  • firebase_core: ^3.6.0
  • logger: ^2.4.0

Usage #

Import the firebase_facilitator package, implement the mixins for CRUD operations and logger services, and use the repository to perform Firestore operations.

Example:

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);

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

Example Widget:

Example:

import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:uuid/uuid.dart';

class ReadWriteExamplePage extends StatefulWidget {
  const ReadWriteExamplePage({super.key});

  @override
  State<ReadWriteExamplePage> createState() => _ReadWriteExamplePageState();
}

class _ReadWriteExamplePageState extends State<ReadWriteExamplePage> {
  ReadWriteReposExample readWriteReposExample = ReadWriteReposExample();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text("Firestore Operations Example")),
      body: Column(
        children: [
          MaterialButton(
            color: Colors.blue,
            onPressed: _onAddDataPressed,
            child: const Text('Add Data'),
          ),
          MaterialButton(
            color: Colors.green,
            onPressed: _onFetchAllDocumentsPressed,
            child: const Text('Fetch All Documents'),
          ),
        ],
      ),
    );
  }

  void _onAddDataPressed() {
    readWriteReposExample.saveDocument(data: {"id": const Uuid().v4(), "name": "john"});
  }

  void _onFetchAllDocumentsPressed() {
    readWriteReposExample.fetchAllDocuments();
  }
}

The repository handles Firestore operations, including adding, fetching, and deleting documents.

2
likes
0
points
66
downloads

Publisher

unverified uploader

Weekly Downloads

A Firebase CRUD package simplifying Firestore operations with optional logging and error tracking, designed for scalable and maintainable Flutter apps.

Repository (GitHub)
View/report issues

Topics

#firebase #crud

License

unknown (license)

Dependencies

cloud_firestore, fake_cloud_firestore, firebase_auth, firebase_core, flutter, flutter_web_plugins, logger

More

Packages that depend on firebase_facilitator