flutterfire_oop_modeler 0.1.9 copy "flutterfire_oop_modeler: ^0.1.9" to clipboard
flutterfire_oop_modeler: ^0.1.9 copied to clipboard

A OOP modeler for Firebase Firestore in Dart to create, read, update and delete documents in a Firestore database.

example/lib/main.dart

import 'package:example/firebase_options.dart';
import 'package:example/testobject.dart';
import 'package:example/testobjectview.dart';
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutterfire_oop_modeler/database_object.dart';

void main() async {
  // init firebase
  WidgetsFlutterBinding.ensureInitialized();
  // Initialize Firebase
  await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  List<TestObject> testObjects = [];
  bool isLoading = true;

  void initiState() {
    super.initState();
  }

  Future<void> _loadTestObjects() async {
    isLoading = false;
    testObjects = await DatabaseObject.loadAllFromQuery(
        firestore.collection('testobjects'), TestObject.new);
    // print("reloaded");
    // print(testObjects.map((e) => {e.name}).toList());
    setState(() {});
  }

  @override
  Widget build(BuildContext context) {
    if (isLoading) {
      _loadTestObjects();
    }
    return Scaffold(
      body: SizedBox(
        width: MediaQuery.of(context).size.width,
        height: MediaQuery.of(context).size.height,
        child: SingleChildScrollView(
          child: Column(
            children: [
              buildTestObjectView(TestObject(), _loadTestObjects, context),
              ListView.builder(
                shrinkWrap: true,
                physics: const NeverScrollableScrollPhysics(),
                itemCount: testObjects.length,
                itemBuilder: (context, index) {
                  return buildTestObjectView(
                      testObjects[index], _loadTestObjects, context);
                },
              ),
            ],
          ),
        ),
      ),
    );
  }
}
3
likes
150
points
42
downloads

Publisher

unverified uploader

Weekly Downloads

A OOP modeler for Firebase Firestore in Dart to create, read, update and delete documents in a Firestore database.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

cloud_firestore, firebase_core, flutter

More

Packages that depend on flutterfire_oop_modeler