Last updated 7/2022 MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz Language: English | Size: 3.03 GB | Duration: 10h 1m Full-stack Development with Firebase, Firestore, Firebase Storage & Hosting, Firebase Cloud Functions & AngularFire
What you'll learn Code in Github repository with downloadable ZIP files per section In-depth coverage of the Firestore NoSQL Database Complete Transactional Serverless CRUD Example Email and Social Authentication With Firebase Authentication Full RBAC Role-Based Authorization with Firestore Security Rules Secure Serverless File Upload with Firebase Storage High-performance, free SSL hosting with Firebase Hosting Database Triggers with Firebase Cloud Functions Secure REST Endpoints with Firebase Cloud Functions Serverless Architecture Design Serverless Angular development with AngularFire Full drop-in Authentication solution: Firebase UI Full Production Deployment Requirements Just a little bit of Angular and Typescript Description This Course in a NutshellIf you are looking for the best backend to go along with your Angular frontend, then the Firebase ecosystem (with the Firestore NoSQL database) is the right choice for you.Today, it's simpler than ever to develop Firebase applications thanks to the latest Firebase development tools, including the awesome local emulator (covered in detail in the course).Firebase allows us to build applications in a mostly serverless way, in the sense that when using it we only have to write a little bit of server-side code, if any at all in a lot of cases.With Firebase, we can not only query our database but also do data modification operations straight from the browser, in a secure way. So how is this possible?The way that this works is that the Firestore database enables us to declaratively accept or deny incoming requests using Firestore Security Rules.A key ingredient for this to work is Firebase Authentication, which we will cover in detail in this course. Firebase is, of course, frontend agnostic, meaning that it will work with any frontend technology. So why does it work especially well with Angular?This is due to the powerful AngularFire library, which allows us to easily query and modify Firestore data in a reactive way using the AngularFire Observable-based API.Besides Firestore, the Firebase ecosystem provides everything else that you need for building a fully functioning backend solution. This includes secure file upload via Firebase Storage and the hosting of your static files via Firebase Hosting.For the rare cases when you need some server-side code, you can do that too in Firebase using Firebase Cloud Functions, which are node-based stateless functions running on the Google Cloud infrastructure.Using Cloud Functions, you can implement server-only functionality like database triggers, or even REST endpoints for operations that can only be done on the server, such as user creation, or payments.The Firebase ecosystem provides a complete solution for quickly building the backend of your web application, allowing you to focus more of your development time on the frontend.Course OverviewIn this course, we are going to take a sample Angular application and we are going to connect it to a Firestore database. We will learn how to do all sorts of database queries and we will provide a complete CRUD example using AngularFire.We will set up the local development emulator from the very beginning, which will allow us to use a local database with predefined authentication users and some initial data.The emulator will also allow us to test cloud functions locally as well as security rules, which is super convenient.From there, we are going to add security to the application, starting with authentication using Firebase Authentication. We will implement both email and password and social login using the Firebase UI library.We are also going to implement role-based authorization using Firebase Authentication custom claims and the AngularFire Authentication router guard.We will implement an administration screen that allows an existing administrator to create other users, including other administrators in a secure way.For this, we will need some backend code, so we will be using Firebase Cloud Functions for that. We will also show how to use Cloud Functions to implement other commonly used backend features, such as database triggers.We will show how to do secure file upload of an image thumbnail using Firebase Storage.We will end the course by doing a full production deployment using Firebase Hosting, and testing everything out in a non-emulated production environment.Table of ContentsThis course will go over the following topics:Introduction to NoSQL data modelingDocuments vs CollectionsFirestore Unique IdentifiersQuerying a database using the Firebase SDKAngular Service Layer Design with AngularFirePaginationIndexes, Composite IndexesData Modification with AngularFireTransactionsMulti-path UpdatesFull CRUD example with AngularFireAuthentication with Firebase AuthenticationProtecting screens with the AngularFire Authentication guardSecuring Database access with Firebase Security RulesFull role-based authorization using Firebase Authentication custom claimsSecure file upload with Firebase StorageFirebase Storage RulesServer-side image processing with Firebase Cloud FunctionsFirebase Cloud Functions Database TriggersFirebase Could Functions HTTP endpointsCloud Functions Service AccountsProduction Deployment with Firebase HostingWhat Will You Learn In this Course?In this course, you will learn everything that you need to know to become a proficient Firebase developer. You will understand how to model a Firestore database, and how to interact with it using AngularFire.You will know how to implement secure, transactional data modification queries straight from the frontend using the AngularFire Observable-based API. You will know how to secure your data using Firestore Security rules, and how to implement role-based Authorization.You will learn how to design your system in order for it to need minimum backend code, that when necessary can be implemented using Firebase Cloud Functions.At the end of the course, you will feel confident designing and developing applications in a serverless way using the complete Firebase ecosystem.Have a look at the course free lessons below, and please enjoy the course! Overview Section 1: Introduction Lecture 1 Firebase & AngularFire In Depth - Helicopter View Lecture 2 IMPORTANT Lecture 3 Course Introduction and Development Environment Setup Lecture 4 Set Up a Firebase Account and Populate a Firestore Database Lecture 5 Firestore Fundamentals - What is a Firestore Document? Lecture 6 Firestore Fundamentals - Collections, Unique Identifiers and Relationships Lecture 7 Firestore Fundamentals - Introduction to Collection Queries using AngularFire Lecture 8 Firestore Fundamentals - Performance Guarantees and Indexes Lecture 9 Firestore Fundamentals - Collection Group Queries Lecture 10 Firestore Fundamentals - Realtime Capabilities Section 2: Angular Service Layers with AngularFire and Firestore Lecture 11 New Section Introduction - Beginning the Implementation of the Home Component Lecture 12 An Example of a Firestore array-contains Query Lecture 13 Converting Firestore Query Results to a Domain Model Lecture 14 Finishing the Implementation of the Home Component Lecture 15 The Firebase Local Emulator - Why do we need it? Lecture 16 Setting Up a Firebase Project with firebase init Lecture 17 Introduction to the Firebase Local Emulator Lecture 18 AngularFire CRUD Example - The Create Course Form Lecture 19 AngularFire CRUD Create Service - API Design Lecture 20 AngularFire CRUD Create - Service Implementation Lecture 21 AngularFire CRUD Update - Service Implementation Lecture 22 AngularFire CRUD Update - Building the Edit Course Dialog Lecture 23 AngularFire CRUD Update - Final Implementation and Demo Lecture 24 AngularFire CRUD Delete - Implementation and Demo Lecture 25 Understanding Firestore Transactional Batched Writes Lecture 26 Course Screen - Pre-Fetching Data with a Course Resolver Lecture 27 Course Screen - Router Resolver Implementation and Demo Lecture 28 How to Implement a Firestore Paginated Query Lecture 29 Firestore Data Pagination Example - Implementation Conclusion and Demo Section 3: Firebase Authentication and Firestore Security Rules Lecture 30 Introduction to Firebase Authentication Lecture 31 Implementing Authentication Using Firebase UI Lecture 32 Implementing an Angular User Service - API Design Lecture 33 User Service - Adapting the UI to the User Authentication Status Lecture 34 Introduction to Firestore Security Rules Lecture 35 Firestore Security Rules Fundamentals - Nested Rules Lecture 36 Firestore Security Rules Fundamentals - Rule Order and Access Types Lecture 37 Checking if a User Is Authenticated Using Firestore Security Rules Lecture 38 Implementing Firestore Schema Validation With Firestore Security Rules Lecture 39 How to Implement a User White List Using Firestore Security Rules Lecture 40 Implementing Role Based Access Control (RBAC) with Firestore Security Rules Lecture 41 How to Write Security Rules For Collection Group Queries Lecture 42 RBAC UI Implementation - The Roles Observable Lecture 43 Showing certain UI Features only to Administrator Users Lecture 44 Protecting Access to Admin Screens With the AngularFire Authentication Guard Section 4: Serverless File Upload With Firebase Storage Lecture 45 Introduction to Firebase Storage Lecture 46 File Upload with Firebase Storage - Implementation Finished and Demo Lecture 47 Implementing a File Upload Progress Indicator for Firebase Storage Lecture 48 How to Create a Safe Download Url in Firebase Storage Lecture 49 Firebase Storage Security Rules Section 5: Firebase Cloud Functions In Depth Lecture 50 Why do We Need Firebase Cloud Functions? Lecture 51 How Do Firebase Cloud Functions Work? Lecture 52 Firebase Cloud Functions - Hello World Lecture 53 Firebase Cloud Functions - Introduction to Database Triggers Lecture 54 How To Initialize a Firestore Connection From a Firebase Cloud Function Lecture 55 Firebase Cloud Functions Add Document Trigger Implementation Lecture 56 How To Minimize the Cold Startup Time Of Firebase Cloud Functions Lecture 57 Firebase Cloud Functions - Update Triggers Lecture 58 Firebase Cloud Functions - Delete Trigger Lecture 59 How to Create an HTTP Endpoint with Firebase Cloud Functions Lecture 60 Calling a Firebase Cloud Function REST Endpoint Lecture 61 Implementing a Create User REST Endpoint with Firebase Cloud Functions Lecture 62 Setting Up an Angular Http Interceptor Lecture 63 Securing a Firebase Cloud Function Endpoint using Express Middleware Lecture 64 Firebase Cloud Functions Secure REST Endpoint - Final Demo Section 6: Production Deployment With Firebase Hosting Lecture 65 Introduction to Firebase Service Accounts Lecture 66 Setting The Claims of the Initial Root Admin Using a Node Script Lecture 67 Production Deployment With Firebase Hosting Lecture 68 Final Application Test In Production Section 7: Conclusion Lecture 69 Bonus Lecture Lecture 70 Conclusions and Key Takeaways Any Developers trying to learn the Firebase ecosystem from scratch,Angular Developers looking for the best possible backend to go along with Angular