What you would learn in Firebase In Depth course?
If you're looking for the most reliable backend alongside an Angular frontend, you'll find that you should consider the Firebase ecosystem (with the Firestore NoSQL database) as the ideal choice.
Today, building Firebase applications with the most up-to-date toolkits for development, such as the fantastic locally-based emulator (covered in depth during the class), is more accessible.
Firebase lets us create applications in a largely serverless manner by which the only thing we need to do is write a tiny portion of server-side programming, at best, in many cases.
With Firebase, it is possible to not only access our database but also carry out modifications to data directly from our browser in a secure manner. So how do we make this happen?
This happens as follows: the Firestore database lets us explicitly accept or decline incoming requests by using Firestore Security Rules.
The critical element that allows the system to function is Firebase Authentication, which we will discuss in greater detail in this class. Firebase is naturally an open-source frontend, which works with any front-end technology. Why does it do so efficiently with Angular?
This is due to the solid AngularFire library that allows us to easily modify and query Firestore information in a reactivity manner using the AngularFire observation-based API.
In addition to Firestore in addition, the Firebase ecosystem offers everything else that you require to build an efficient backend system. This includes the secure upload of files through Firebase Storage and the hosting of your static files with Firebase Hosting.
In rare situations when you require server-side programming, it is possible to do this within Firebase with Firebase Cloud Functions, which are stateless, node-based applications running in Google Cloud. Google Cloud infrastructure.
Utilizing Cloud Functions, you can implement server-only functions like triggers for databases and even REST endpoints that perform tasks only possible via the server, for example, the creation of users or payment.
The Firebase ecosystem offers an all-inclusive solution for rapidly developing your website application's backend, allowing you to concentrate on developing in frontend development.
Description of the course
In this class, we will look at an example Angular application and are connecting it to the Firestore database. We will be taught how to perform all kinds of database queries. We will also provide a complete CRUD demonstration with AngularFire.
We'll set up our locally developed emulator at the beginning, allowing us to access local databases that have identified authentication users and some initial information.
The emulator can also permit users to try cloud features locally, in addition to security rules which is highly convenient.
From there, we're planning to enhance security for the application. We will begin with authentication with Firebase Authentication. We will use both passwords and email and social login with Firebase UI. Firebase UI library.
We also plan to introduce roles-based authorization using the Firebase Authentication custom claims and the AngularFire Authentication security guard for routers.
We are planning to implement an administration screen that will allow an administrator to create new users, including other administrators, safely.
To do this, we'll require some backend programming, which is why we'll use Firebase Cloud Functions. We will also demonstrate how to utilize Cloud Functions to implement other frequently used backend functions like triggers for databases.
We will demonstrate how to upload your image thumbnail using Firebase Storage securely.
The course will conclude by performing a complete production deployment with Firebase Hosting and testing it in a non-simulated production environment.
Table of Contents
This course will cover the following subjects:
Introduction to NoSQL modeling of data
Collections vs. Documents
Firestore Unique Identifiers
Accessing databases with the Firebase SDK
Angular Service Layer Design and AngularFire
Indexes and Composite Indexes
Modification of data using AngularFire
Full CRUD example using AngularFire
Authentication using Firebase Authentication
Screens are protected with the AngularFire Guard for authentication
Securing access to databases with Firebase Security Rules
Full authorization based on role using Firebase Authentication custom claims
Secure uploading of files with Firebase Storage
Firebase Storage Rules
Image processing on the server side using Firebase Cloud Functions
Firebase Cloud Functions Database Triggers
Firebase Can Function as HTTP endpoints
Cloud Functions Service Accounts
Production Deployment using Firebase Hosting
- Code available on Github repository that includes downloadable ZIP files for each section
- Comprehensive coverage of Firestore NoSQL Database
- Complete Transactional Serverless Example of CRUD
- Social and Email Authentication Through Firebase Authentication
- Fully RBAC Role-Based Authorization along with Firestore Security Rules
- Securing Serverless Upload of Files via Firebase Storage
- High-performance, no-cost SSL hosting using Firebase Hosting
- Database Triggers using Firebase Cloud Functions
- Secure REST Endpoints using Firebase Cloud Functions
- Serverless Architecture Design
- Serverless Angular development through AngularFire
- Full drop-in authentication solution Firebase UI
- Full Production Deployment