Firebase Masterclass

Firebase Masterclass

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 7 Hours | 3.72 GB

Full-stack Development with Angular, Firestore, Firebase Storage & Hosting, Firebase Cloud Functions & AngularFire

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.

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.

Table of Contents

Course Kickoff – Development Environment Setup
1 Serverless Angular with Firebase Course – Helicopter View
2 Firebase Course – Development Environment Setup
3 The Typescript Jumpstart Ebook
4 Setting Up our Firestore NoSQL Database

Introduction to the Firestore NoSQL Database
5 The Firestore NoSQL Database – Documents and Collections
6 Firestore Root Collections vs Nested Collections
7 Querying Firestore Documents using the Firebase SDK
8 Understanding Firestore Auto-generated Document Identifiers
9 Querying Firestore Collections using the Firebase SDK

Angular Service Layers with AngularFire
10 Setting Up AngularFire
11 Querying a Firestore Collection using AngularFire
12 The AngularFire API – snapshotChanges vs stateChanges
13 Querying and Displaying Data with AngularFire – The Home Component
14 AngularFire Observable Streams – An Important Feature
15 Firestore Queries and Performance Guarantees – orderBy and array-contains
16 Firestore Compound Queries – Understanding Firestore Indexes
17 Understanding Firestore Querying Constraints and Invalid Query Error Messages
18 The Course Component – Design Overview
19 Initial Implementation of the Course Screen – the Course Resolver
20 Course Component Lessons List – Querying a Nested Firestore Collection
21 Course Component Conclusion – Pagination and Loading Indicator
22 Firestore Data Modification Example – The Edit Course Dialog
23 Edit Dialog Component Implementation – Conclusion
24 Firebase SDK Offline Support – See it in Action
25 Understanding Firestore Batched Writes – An Example
26 Firestore Transactions – Transactions vs Batched Writes
27 Firestore Persistent Document References – An Example

Firebase Authentication
28 Firebase Authentication – Section Introduction
29 Firebase UI In Action – Social Login plus Email and Password Authentication
30 Authentication with Firebase UI – Implementation Conclusion
31 The AngularFire Auth User Profile – a Practical Use Case
32 AngularFire Auth Service – Displaying a User Profile Picture

Firestore Security Rules Deep Dive
33 Security in a Serverless Architecture – Introduction to Firestore Security Rules
34 Breaking Down the Firestore Security Rules Syntax
35 Security Rules Fundamentals – How do Security Rules Work?
36 Security Rules Fundamentals – Nested Rules and WildCards
37 Security Rules – Making Data Visible Only to Authenticated Users
38 Firebase Security Functions – an Example
39 Authentication with a Pre-Approved User List
40 User Authorization Roles – Admin Users vs Normal Users
41 Adding a Schema to Firestore Data using Security Rules
42 The Difference Between the Request and the Resource objects in Security Rules
43 Installing the Firebase Tools – Firestore Command Line Deployment

Firebase Hosting
44 Firebase Hosting – Benefits & Quick Deployment Guide

Firebase Storage Deep Dive (File Upload)
45 What is Firebase Storage? Learn its Key Features
46 File Upload with AngularFire – Step by Step Implementation
47 Implementing a File Upload Percentage Indicator with Angular Material
48 Get a Firebase Storage Revocable Download Url
49 Firebase Storage Security Rules – File Upload Conclusion

Firebase Cloud Functions Deep Dive
50 Firebase Cloud Functions – Hello World
51 Firebase Cloud Function REST Endpoint with Express
52 Firebase Cloud Functions Local Emulator and Production Deployment
53 Implementing a Firestore Database Trigger with Firebase Cloud Functions
54 Firebase Cloud Functions – Automatic Document Counter Implementation
55 Firebase Cloud Functions – Implementing a File Upload Trigger
56 Download a File from Firebase Storage from inside a Firebase Cloud Function
57 Image Processing with ImageMagick from inside a Firebase Cloud Function
58 Image Processing of Thumbnail with Firebase Cloud Functions – Implementation
59 Image Processing with Firebase Cloud Functions – Demo

Conclusion & Bonus
60 Other Courses
61 Bonus Lecture
62 Conclusions and Key Takeaways