In this course, you’ll learn how to use Firebase. Firebase is a cloud backend, and one of the leading choices for Backend as a Service. It enables you to quickly get synchronized data up and running for multi-user apps. This is important because nearly every mobile app these days requires authentication and real-time data updates.
We’ll begin by showing you how easy it is to read and write almost any data to Firebase. After that, we’ll teach you how to allow users to login and have data associated with them. We’ll then cover how to write queries and filters for your data. You’ll discover how to take advantage of Firebase's offline capabilities, and master efficient database design for lightning-fast data retrieval. Lastly, you’ll learn how to use Firebase’s Security and Rules language to secure and add permissions to your data.
By the end of this course you will have an Android application that can store and share data between different users in real time as well as authenticate and authorize those users.
Why Take This Course?
If you are an Android developer and your app needs any of the following features:
- Online data storage
- Real-time synchronization between many users
- Authentication for Email/Password as well as OAuth providers
- Data permissions and security
- Offline access to data
This is the course for you!
Firebase is a gentle but very powerful introduction to storing and managing data. With just a few lines of code, you can read and write almost any data you could dream up from your own custom Firebase backend.
Furthermore, Firebase has a generous free plan that lets you start making hosted apps with multiple users immediately.
### Lesson 1
In this lesson you'll set up Firebase and read and write your first data.
* Course Description and Prerequisites
* Getting Setup With Firebase
* Writing your first Firebase Data
* How Data Works in Firebase
* Reading your first Firebase Data
* Plain Old Java Objects in Firebase
* When to Choose Firebase as part of your stack
### Lesson 2
In this lesson you'll learn all the ins and outs of reading and writing data, including displaying lists of data that are synced with your Firebase database.
* Lists in Firebase and FirebaseUI
* Best Practices for Reading and Writing Data
In this lesson you'll how to create user accounts using both the an email and password login flow, as well as Google login. You’ll then use this user data to display different information to the user depending on who they are signed in as.
* Creating and Logging in Users via Email and Password
* Logging in Users with Google
* Logging out Users
* How to Store App Specific User Data
* How to Use User Data
* Basic Login Security and Resetting User Passwords
###Lesson 4 (COMING SOON)
In this lesson you'll learn how to structure your database schema for lightning fast queries and sorting. You’ll use your new data structure to implement sharing functionality. You’ll also learn about Firebase’s filtering and sorting capabilities by adding sorting and basic autocomplete to ShoppingList++.
* Sorting in Firebase with orderBy
* How and why to de-normalize data
* Dealing with Many to Many relationships in Firebase
* Using IndexOn and OrderByValue for faster searches
* Range, Start At, End At and Limit queries
* Basic Searching in Firebase
### Lesson 5 (COMING SOON)
In this lesson you'll learn about how Firebase deals with offline access and how to secure your data using Firebase’s built in security and permission rules.
* Firebase Offline Access
* Security Rules
* Expression in Security Rules
* Authentication Checking in Security Rules
* Data Validation in Firebase