ud009 »

Course Video Index

The following is an index of all nodes in this course, including a description of what each is about. You can use this resource to find videos that cover the topics you're interested in.

Lesson 1

In this lesson you'll set up Firebase and read and write your first data.

Topics include:

  1. Course Description and Prerequisites

  2. Getting Setup With Firebase

  3. Writing your first Firebase Data

  4. How Data Works in Firebase

    • Firebase Data Basics - How data works in Firebase
    • Firebase Example Datasets - Using the cryptocurrencies dataset to see what Firebase data looks like in the Firebase dashboard. This includes navigating the dashboard, unique URLs and the different colors the database flashes.
    • Firebase Terminology - Overview of the Firebase terminology we’ll be using throughout the course.
  5. Reading your first Firebase Data

  6. How Reading and Writing Work Together

    • Recap so far - Recap of how reading and writing work together in Firebase
  7. Plain Old Java Objects

    • Plain Old Java Objects - How to use the expert recommended practice of making POJOs to read and write object data to and from the Firebase database
  8. When to Choose Firebase

Code Steps For Lesson 1

On Your Own Practice

Lesson 2

In this lesson you'll learn all the ins and outs of reading and writing data, including displaying lists of data that are synced with your Firebase database.

Topics include:

  1. Writing

  2. Reading

  3. Debugging and Understanding Updates

  4. Lists in Firebase and FirebaseUI

    • Firebase UI and Lists - An introduction to FirebaseUI which is a library that is used to display lists of data in Firebase
    • Add A FirebaseListAdapter - How to add the FirebaseUI library and a FirebaseListAdapter
    • Interview with Abe - Interview with Abe, Developer Advocate on the Firebase team. The interview covers how Firebase deals with arrays and what is so special about push IDs.
  5. Best Practices for Reading and Writing

Code Steps For Lesson 2

On Your Own Practice

Lesson 3

In this lesson you'll how to create user accounts using both the an email and password login flow, as well as Google login. You'll then use this user data to display different information to the user depending on who they are signed in as.

Topics include:

  1. Creating and Logging in Users in Firebase

  2. Logging in Specifically via Google

  3. Tracking Authentication State and Logging Users Off

    • Authentication State Change - The different methods to track whether is a user is logged in, in the app.
    • Logout and Kick Off - Setting the session length for how long a user remains logged in and the code for logging a user off.
  4. Create App Specific User Data

  5. Use App Specific User Data

    • Use User Data - Use the user data to put the user's name at the top of their list of Shopping Lists.
    • List Owner Permissions - Change what the user sees, based off of whether they own the shopping list.
  6. Reset Password to Verify Email

    • Resetting Password Login Flow - Explains how anyone can create an account, even if they don't know how to use the email and Firebase's reset password feature for resetting a user's password by sending them an email.

Code Steps For Lesson 3

On Your Own Practice

Lesson 4

In this lesson you'll learn how to structure your database schema for lightning fast queries and sorting. You’ll use your new data structure to implement sharing functionality. You’ll also learn about Firebase’s filtering and sorting capabilities by adding sorting and basic autocomplete to ShoppingList++.

Topics include:

  1. Sorting, Searching and Complex Queries

    • Sorting in Firebase - Explains the different ways you can sort a list of data in Firebase, including orderByChild, orderByValue, orderByKey and orderByPriority.
    • Order Methods for Each Sort - Quiz about what ordering method to choose for different situations.
    • Range Queries - Covers startAt, endAt and equalTo to set a range of data returned.
    • Start At, End At - Explains how you can use startAt and endAt to find all words that start with a certain string.
    • Limit Queries - Covers limitToFirst and limitToLast to identify exactly how much data to return.
  2. Denormalize Data

  3. Dealing with Complex Data Relationships

  4. IndexOn and ordering by value

    • About indexOn & value - A quick example of indexOn to speed up searches relating to particular child keys or when indexing by value.

Code Steps For Lesson 4

On Your Own Practice

Lesson 5

In this lesson you'll learn about how Firebase deals with offline access and how to secure your data using Firebase’s built in security and permission rules.

Topics include:

  1. Offline Access

    • Off-line for Free - An example of caching Firebase does that provides some intermittent connectivity access for for.
    • Off-line For Particular Situations - An overview of two methods, setPersistenceEnabled and keepSynced, for caching additional data locally for off-line use.
  2. Security in General

    • Your Database is Wide Open - Explains the difference between client side and server side security and the need for sever side security.
    • Types of Security - An overview of the three ways to secure data in Firebase: authentication, authorization and validation.
    • Basic Rule Syntax - An overview of basic rule syntax, how rules mirror the Firebase database, an example of a single rule syntax, how rules default to false and what happens when a request fails a rule.
    • Security Rules Variables - An overview of the pre-defined variables Firebase provides in the rules.
  3. Validation

    • Validation Specifics - An overview of how to write a validation rule for a single property, including important methods to be aware of and the data and newData pre-defined variables.
    • Validating Structures - How to validate that the correct properties, and only the correct properties exist in an object, so that you can confirm objects have the correct overall structure.
    • Validating One Object Example - A walk-through of writing the validation rules for one object, userFriends.
  4. Read and Write Authorization Specifics

  5. Tips for Writing Rules

    • Tips for Writing Rules - Tips and tricks for writing valid syntax and avoid common pitfalls when first writing rules.
    • Validation using the Bolt Compiler - An introduction to the bolt compiler and how to write basic types in bolt.
    • UID Email Conundrum - Introduces a tricky situation where the user's uid need to be converted to another unique identifier (in this case, email).
    • UID Email Mapping - How to use a mapping node to provide a conversion from one value to another.
    • Troubleshooting a Rule - How to troubleshoot a rule, including using the simulator and writing functions with Bolt.
  6. Beyond Rules

    • A Security Flaw - Introduces a security flaw in ShoppingList++.
    • Interview with Frank Part 1 - An interview with Firebase's own Frank van Puffelen describing different techniques when verifying emails and using unique user identifiers other than auth.uid in the rules.
    • Interview with Frank Part 1 - An interview with Firebase's own Frank van Puffelen describing different techniques when verifying emails and using unique user identifiers other than auth.uid in the rules.
    • Interview with Frank Part 2 - Frank talks about minting a custom auth token to include email.

Code Steps For Lesson 5