Module: Data Management

Learn how to manage application data using Firebase.

Dates: Wed, Nov 1 - Wed, Nov 15

Learning Outcomes

You can manage application data

Readings

Firebase in Flutter: Documentation

Home page for Flutter’s Firebase documentation

Get to know Firebase for Flutter

A codelab introducing the basics of developing a Firebase backend for Flutter apps.

Firestore Setup Cheat Sheet

Minimal steps to setup Cloud Firestore for a new Flutter app

Cloud Firestore Data Model

Key concepts for Firestore, a NoSQL, document-oriented database.

Get to Know Cloud Firestore (Playlist)

Queries, pricing, maps, security, pagination, structure, transactions, offline, functions

Starter architecture for Flutter and Firebase apps using Riverpod

A tutorial for a template app implementing Flutter, Firebase, and Riverpod.

How to turn on billing and still sleep at night

Ways to analyze Firebase usage and billing costs, and get notified if usage is higher than anticipated

Freezed

Freezed is the current best practice for data model definition

Flutter freezed: the complete crash course

A somewhat more gentle introduction to Freezed.

Code with Andrea: How to parse JSON with Freezed

How to use Freezed to simplify the implementation of JSON serialization and de-serialization

Initializing your Firestore database with Firefoo

Firefoo is a GUI client for Firebase Firestore that simplifies database initialization from JSON files.

Flutter_Riverpod_Freezed sample app

Example app using Riverpod and Freezed for API retrieval and display

How to Auto-Generate your Providers with Flutter Riverpod Generator

How to use the @riverpod annotation to generate Riverpod providers.

How to Fetch Data and Perform Data Mutations with the Riverpod Architecture

Using Riverpod to manage data from the database

Agile Garden Club mockup, Phase 5

Example of a Phase 5 mockup

Using an app repo as a template

How to create a new application from a pre-existing codebase

Experiential Learning

1. Experience the Firebase Codelab

Learn how to use Firebase with Flutter.

2. Experience the Flutter Firebase Starter Architecture

Install and run the Flutter Firebase starter template

3. Experience Freezed

Modify the starter template to use Freezed

4. Make your Phase 5 App

Create a Firebase backend for your app