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.
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
Indexes, Composite Indexes
Data Modification with AngularFire
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.