Firebase & Firestore Masterclass
4.3 (594 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,185 students enrolled

Firebase & Firestore Masterclass

Full-stack Development with Angular 10, Firestore, Firebase Storage & Hosting, Firebase Cloud Functions & AngularFire
4.3 (594 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,185 students enrolled
Last updated 7/2020
English [Auto]
Current price: $104.99 Original price: $149.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 7 hours on-demand video
  • 3 articles
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Code in Github repository with downloadable ZIP files per section
  • Serverless Architecture Design
  • NoSql Database (Firestore)
  • Serverless Angular development with AngularFire
  • Serverless File Upload with Firebase Storage
  • a full drop-in Authentication solution: Firebase UI and Firebase Authentication
  • Secure client-side data modification operations with Firestore Security Rules
  • High performance, free SSL hosting with Firebase Hosting
  • Image processing with Firebase Cloud Functions
  • Database Triggers with Firebase Cloud Functions
  • REST endpoints with Firebase Cloud Functions
Course content
Expand all 63 lectures 07:10:58
+ Introduction to the Firestore NoSQL Database
5 lectures 32:53
The Firestore NoSQL Database - Documents and Collections
Firestore Root Collections vs Nested Collections
Querying Firestore Documents using the Firebase SDK
Understanding Firestore Auto-generated Document Identifiers
Querying Firestore Collections using the Firebase SDK
+ Angular Service Layers with AngularFire
18 lectures 02:18:39
Setting Up AngularFire
Querying a Firestore Collection using AngularFire
The AngularFire API - snapshotChanges vs stateChanges
Querying and Displaying Data with AngularFire - The Home Component
AngularFire Observable Streams - An Important Feature
Firestore Queries and Performance Guarantees - orderBy and array-contains
Firestore Compound Queries - Understanding Firestore Indexes
Understanding Firestore Querying Constraints and Invalid Query Error Messages
The Course Component - Design Overview
Initial Implementation of the Course Screen - the Course Resolver
Course Component Lessons List - Querying a Nested Firestore Collection
Course Component Conclusion - Pagination and Loading Indicator
Firestore Data Modification Example - The Edit Course Dialog
Edit Dialog Component Implementation - Conclusion
Firebase SDK Offline Support - See it in Action
Understanding Firestore Batched Writes - An Example
Firestore Transactions - Transactions vs Batched Writes
Firestore Persistent Document References - An Example
+ Firebase Authentication
5 lectures 32:22
Firebase Authentication - Section Introduction
Firebase UI In Action - Social Login plus Email and Password Authentication
Authentication with Firebase UI - Implementation Conclusion
The AngularFire Auth User Profile - a Practical Use Case
AngularFire Auth Service - Displaying a User Profile Picture
+ Firestore Security Rules Deep Dive
11 lectures 01:07:55
Security in a Serverless Architecture - Introduction to Firestore Security Rules
Breaking Down the Firestore Security Rules Syntax
Security Rules Fundamentals - How do Security Rules Work?
Security Rules Fundamentals - Nested Rules and WildCards
Security Rules - Making Data Visible Only to Authenticated Users
Firebase Security Functions - an Example
Authentication with a Pre-Approved User List
User Authorization Roles - Admin Users vs Normal Users
Adding a Schema to Firestore Data using Security Rules
The Difference Between the Request and the Resource objects in Security Rules
Installing the Firebase Tools - Firestore Command Line Deployment
+ Firebase Hosting
1 lecture 09:43
Firebase Hosting - Benefits & Quick Deployment Guide
+ Firebase Storage Deep Dive (File Upload)
5 lectures 29:58
What is Firebase Storage? Learn its Key Features
File Upload with AngularFire - Step by Step Implementation
Implementing a File Upload Percentage Indicator with Angular Material
Get a Firebase Storage Revocable Download Url
Firebase Storage Security Rules - File Upload Conclusion
+ Firebase Cloud Functions Deep Dive
10 lectures 01:22:38
Firebase Cloud Functions - Hello World
Firebase Cloud Function REST Endpoint with Express
Firebase Cloud Functions Local Emulator and Production Deployment
Implementing a Firestore Database Trigger with Firebase Cloud Functions
Firebase Cloud Functions - Automatic Document Counter Implementation
Firebase Cloud Functions - Implementing a File Upload Trigger
Download a File from Firebase Storage from inside a Firebase Cloud Function
Image Processing with ImageMagick from inside a Firebase Cloud Function
Image Processing of Thumbnail with Firebase Cloud Functions - Implementation
Image Processing with Firebase Cloud Functions - Demo
+ Conclusion & Bonus
3 lectures 12:49
Other Courses
Bonus Lecture
Conclusions and Key Takeaways
  • Just a little bit of Angular and Typescript

If you are looking for the best backend to go along with Angular, or even better if you are looking to do as little server-side development as possible and focus mostly on the frontend, then look no further: Firebase is the right choice for you.

With Firebase, you will be able to query your database directly from the client and even directly modify data straight from the client in a secure way. You might not think that this would even be possible and that there always has to be a server involved in order for things to be secure, and that is true.

But that does not mean that you have to write the server yourself, and that is the whole point of the term Serverless. With Firebase you can write essentially serverless applications, in the sense that in the application code base there is hardly any server-side code at all when compared to a traditional REST-based application.

In this course, you are going to learn how to design and build Angular applications using a Serverless Architecture by leveraging the whole Firebase ecosystem: this includes the Firestore NoSQL DataStore database, Firebase Security Rules, Firebase Hosting, Firebase Storage and Firebase Cloud Functions.

Course Overview

This course will allow you to learn Firebase and NoSQL in a fun and practical way, as you build an application using the Firebase SDK and AngularFire. As we build the application, we will also discuss the main concepts of serverless design.

More than querying the database and displaying the data on the screen, we are going to make the application secure using Firebase Security Rules and Firebase Authentication, and we are even going to deploy it to production using Firebase Hosting.

This will all be done without writing a single line of server code! We are then going to implement a complete example of file upload using Firebase Storage, again all in a secure way and without a single line of server code.

But what if the image needs some resizing? This is better done on the server so we will implement a Firebase Cloud Function that does some image processing upon upload completion. We are also going to demonstrate how Firebase Cloud functions can be used to keep multiple parts of our database in sync using server-side trigger functions.

We are then going to talk about denormalization best practices that will help us design the database to allow multiple views of the same data.

The result is a highly maintainable real-time application with huge scalability, performance and security, written with hardly any server code at all.

Table of Contents

This course will go over the following topics:

  • Introduction to NoSQL data modeling

  • Documents vs Collections

  • Firestore Unique Identifiers

  • Querying a database using the Firebase SDK

  • Angular Service Layer Design with AngularFire

  • Offline support

  • Pagination

  • Indexes, Composite Indexes

  • Data Modification with AngularFire

  • Transactions

  • Multi-path Updates

  • Authentication with Firebase Authentication

  • Securing Database access with Firebase Security Rules

  • Production Deployment with Firebase Hosting

  • Image file upload with Firebase Storage

  • Firebase Storage Rules

  • Server-side image processing with Firebase Cloud Functions

  • Denormalization is normal - supporting multiple data views

  • Firebase Could Functions HTTP endpoints

What Will You Learn In this Course?

After taking this course, you will feel comfortable designing and using a NoSql database for your application using Firestore. More than that, you will be familiar with the overall concept of a Serverless Architecture, and you feel comfortable with the whole Firebase ecosystem.

You will be proficient in the complete Firebase ecosystem, which includes: Firestore, AngularFire, Firebase Security Rules, Firebase Storage & Firebase Cloud Functions. But most of all, you will know how to use these building blocks to design and implement a Serverless Architecture in your application.

Who this course is for:
  • Angular Developers looking for the best possible backend to go along with Angular