Mô tả

This Course in a Nutshell

If 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 Overview

In 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 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

  • Pagination

  • Indexes, Composite Indexes

  • Data Modification with AngularFire

  • Transactions

  • Multi-path Updates

  • Full CRUD example with AngularFire

  • Authentication with Firebase Authentication

  • Protecting screens with the AngularFire Authentication guard

  • Securing Database access with Firebase Security Rules

  • Full role-based authorization using Firebase Authentication custom claims

  • Secure file upload with Firebase Storage

  • Firebase Storage Rules

  • Server-side image processing with Firebase Cloud Functions

  • Firebase Cloud Functions Database Triggers

  • Firebase Could Functions HTTP endpoints

  • Cloud Functions Service Accounts

  • Production Deployment with Firebase Hosting

What 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!

Bạn sẽ học được gì

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

Yêu cầu

  • Just a little bit of Angular and Typescript

Nội dung khoá học

7 sections

Introduction

10 lectures
Firebase & AngularFire In Depth - Helicopter View
09:14
IMPORTANT
00:19
Course Introduction and Development Environment Setup
08:45
Set Up a Firebase Account and Populate a Firestore Database
09:02
Firestore Fundamentals - What is a Firestore Document?
10:45
Firestore Fundamentals - Collections, Unique Identifiers and Relationships
09:29
Firestore Fundamentals - Introduction to Collection Queries using AngularFire
08:26
Firestore Fundamentals - Performance Guarantees and Indexes
14:38
Firestore Fundamentals - Collection Group Queries
06:24
Firestore Fundamentals - Realtime Capabilities
11:32

Angular Service Layers with AngularFire and Firestore

19 lectures
New Section Introduction - Beginning the Implementation of the Home Component
07:32
An Example of a Firestore array-contains Query
05:12
Converting Firestore Query Results to a Domain Model
09:41
Finishing the Implementation of the Home Component
04:37
The Firebase Local Emulator - Why do we need it?
04:30
Setting Up a Firebase Project with firebase init
07:50
Introduction to the Firebase Local Emulator
15:18
AngularFire CRUD Example - The Create Course Form
11:31
AngularFire CRUD Create Service - API Design
08:58
AngularFire CRUD Create - Service Implementation
14:10
AngularFire CRUD Update - Service Implementation
04:16
AngularFire CRUD Update - Building the Edit Course Dialog
08:52
AngularFire CRUD Update - Final Implementation and Demo
05:52
AngularFire CRUD Delete - Implementation and Demo
08:51
Understanding Firestore Transactional Batched Writes
11:33
Course Screen - Pre-Fetching Data with a Course Resolver
08:35
Course Screen - Router Resolver Implementation and Demo
08:00
How to Implement a Firestore Paginated Query
06:12
Firestore Data Pagination Example - Implementation Conclusion and Demo
09:22

Firebase Authentication and Firestore Security Rules

15 lectures
Introduction to Firebase Authentication
09:09
Implementing Authentication Using Firebase UI
13:56
Implementing an Angular User Service - API Design
09:17
User Service - Adapting the UI to the User Authentication Status
08:52
Introduction to Firestore Security Rules
15:07
Firestore Security Rules Fundamentals - Nested Rules
12:54
Firestore Security Rules Fundamentals - Rule Order and Access Types
07:45
Checking if a User Is Authenticated Using Firestore Security Rules
11:30
Implementing Firestore Schema Validation With Firestore Security Rules
10:13
How to Implement a User White List Using Firestore Security Rules
10:12
Implementing Role Based Access Control (RBAC) with Firestore Security Rules
11:35
How to Write Security Rules For Collection Group Queries
05:19
RBAC UI Implementation - The Roles Observable
06:55
Showing certain UI Features only to Administrator Users
06:08
Protecting Access to Admin Screens With the AngularFire Authentication Guard
11:00

Serverless File Upload With Firebase Storage

5 lectures
Introduction to Firebase Storage
07:33
File Upload with Firebase Storage - Implementation Finished and Demo
12:40
Implementing a File Upload Progress Indicator for Firebase Storage
04:33
How to Create a Safe Download Url in Firebase Storage
05:24
Firebase Storage Security Rules
07:45

Firebase Cloud Functions In Depth

15 lectures
Why do We Need Firebase Cloud Functions?
06:17
How Do Firebase Cloud Functions Work?
08:47
Firebase Cloud Functions - Hello World
06:42
Firebase Cloud Functions - Introduction to Database Triggers
10:32
How To Initialize a Firestore Connection From a Firebase Cloud Function
06:53
Firebase Cloud Functions Add Document Trigger Implementation
12:23
How To Minimize the Cold Startup Time Of Firebase Cloud Functions
10:04
Firebase Cloud Functions - Update Triggers
11:40
Firebase Cloud Functions - Delete Trigger
06:21
How to Create an HTTP Endpoint with Firebase Cloud Functions
09:58
Calling a Firebase Cloud Function REST Endpoint
06:28
Implementing a Create User REST Endpoint with Firebase Cloud Functions
04:58
Setting Up an Angular Http Interceptor
11:24
Securing a Firebase Cloud Function Endpoint using Express Middleware
09:22
Firebase Cloud Functions Secure REST Endpoint - Final Demo
06:38

Production Deployment With Firebase Hosting

4 lectures
Introduction to Firebase Service Accounts
06:46
Setting The Claims of the Initial Root Admin Using a Node Script
06:05
Production Deployment With Firebase Hosting
07:43
Final Application Test In Production
07:11

Conclusion

2 lectures
Bonus Lecture
01:47
Conclusions and Key Takeaways
06:47

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.