
Here is an overview of the course, the course goals, and a first look at the app we are going to build.
We will grab all of the dependencies needed to complete this project as well as implement a flavor for our server code.
In order to decouple our application, we will be using an Square's event bus Otto. Otto combined with the live flavor will allow us to keep all server code organized.
Before we can start using Firebase, we need to add the necessary credentials. Here we will register our project inside the Firebase console, get all the dependences, and add Firebase globally into our project.
We will focus on building our login screen in this video.
With the login screen finished, we turn our attention to the registration screen. After, we will style both screens by adding a background and button backgrounds.
We finish both screens here by adding the ability to go back and forth between the login and registration screen.
We turn our attention to saving users inside our Firebase. In this lecture, we get our event bus ready to make server calls to Firebase.
With our event bus prepared we can effectively implement calls to our Firebase. This is the first time in the course were we communicate with Firebase. This video also showcases the power of our project structure.
After our app is capable of saving users, the next step is to allow those users to log on. We start and finish that feature inside this video.
At this point our login and registration functions work however, it would be useful if the user could register and login using Facebook. We will begin this feature by first getting the necessary credentials.
Here, we focus on the server calls in order for our Facebook API to communicate with our Firebase.
With all the calls completed, we test the new feature and clean up some code in this lecture.
In this lecture, we focus on checking whether or not a user is logged into our app. We also create a splash screen in order to give the user something nice to look at as the check happens.
A feature noticeably absent from our app is a log out option for the user. We build this feature in this video but don't compile our code until the end of the section.
We begin finishing all user account features which include the log in screen, registration screen, and finally the authentication check.
In this lecture, we compile all the code in this section as well as debug the code.
Our next feature includes allowing a users to add a shopping list to the database. In this lecture, we get the necessary layouts as well as create the model for a shopping list.
Continuing our shopping list feature, in this lecture we get our bus ready to handle the Firebase calls.
In this lecture, we will successfully save a shopping list into our database and thus completing our shopping list feature.
The user can now successfully add a shopping list into our database but there is a problem. The user cannot see that shopping list inside the app! In this lecture, we focus on showing the added shopping lists by using a recycler-view with Firebase.
We will finish showing the users shopping list as well as see how to clean up recycler-view adapters when using Firebase.
The next feature is allowing a user to delete a shopping list at will. In this lecture, we focus on preparing our event bus and getting the necessary layouts completed.
In order to complete the removing a shopping list feature, we will see how to properly use the Firebase remove value method.
Our final feature for this section is allowing the user to sort their shopping lists by publish time, owner email, or shopping list name. We get our Android client side ready in this lecture.
After the client side is prepared, we finish the feature and section by using the Firebase sort methods.
The next feature in the app will allow the user to change the name of a shopping list. This feature will be available inside another activity so the focus of this lecture is get that activity up and running.
With our new activity up and running, we can start implementing the change a list name feature. In this lecture, we focus on getting the necessary layouts and dialogs ready.
In this lecture we see how to properly update data that already exist inside our Firebase database.
We finish the change a list name feature in this lecture as well as see how to use a listener to get data without a recycler-view adapter.
This is your first challenge in the course! The feature you will be working on is allowing the user to add an item to an individual shopping list. Make sure to look at the pdf/word document attached for the full details.
This lecture starts the solution to your first challenge. Please watch only after you have completed or attempted Challenge #1.
This lecture finishes up the solution to challenge 1.
For your second challenge, you will be displaying these shopping list items in the app. Be sure to refer to the attached pdf/word document for further instructions.
This lecture starts the solution to your second challenge. Please watch only after you have completed or attempted challenge #2.
This lecture finishes up the solution to challenge 2.
For your next challenge of the section, there are going to be 2 parts. In the first part, you will focus on deleting a list item from the database and UI. In the second, you need to allow a user to change the list item name. Please be sure to read the word/pdf document for more details.
This lecture starts the solution to your third challenge. Please watch only after you have completed or attempted challenge #3.
This lecture continues the solution for challenge #3.
This lecture finishes up the solution to challenge 3.
There are 3 parts to your fourth challenge. First, you must allow the user the ability to delete the shopping list inside the ListDetails activity. Then when a list is deleted, the shopping list items must be deleted as well. Finally, a user must be able to purchase a shopping list item. Please be sure to see the pdf/word document for a more detailed explanation.
This lecture starts the solution to your fourth challenge. Please watch only after you have completed or attempted challenge #4.
This lecture finishes up the solution to challenge 4.
For the first part of your fifth challenge, you must show the user a list of all users inside our app. Then the user can either add or delete friends from that list. Please make sure to look at the pdf/word document for better details.
This lecture starts the solution to your fifth challenge. Please watch only after you have completed or attempted challenge #5a.
This lecture continues the solution for challenge #5a.
This lecture finishes the solution for challenge 5a.
For challenge 5b, you must allow a user to share and not share their shopping list with friends. Please make sure to look at the pdf/word document for details.
In the final challenge, you must show the shopping list to whom ever it is shared with. In addition anytime a shopping list is updated, you must insure the list is updated everywhere. Please make sure to look at the pdf/word document for further details. Don't give up, you are more then ready.
Thank you for taking our course and congratulations on finishing the last challenge!
There are three components in Firebase security which are authentication, validation, and authorization. We have already done authentication with our login/register flow. In this lecture, we take a look at validation.
This is a course for advanced android developers that showcases Googles Firebase. You as the student will grasp Firebase by building one complicated shopping list app from start to finish with the instructor.
Firebase will be used to register and authenticate users into our application, create and display a real time database, and allow a sharing feature between users. In addition to learning about Firebase, advanced android topics are shown as well. These topics include checking for user errors client side, using an event bus, and finally implementing the Facebook login API.
The course is structured as a code along however towards the end you will be presented with challenges. These challenges will allow you to put your Firebase knowledge to the test and more importantly push you as a developer. At the end of the course, you will have your final challenge and unlike the other challenges, there will be no solution. However, the instructor will be there to help and guide you as needed.
It is critical to have a back end for any android application. Even if user authentication if not needed, the apps data should be stored somewhere other then the users phone. By taking this course, you will be able to use one of the most powerful back ends out there. With over 10 hours of content, you will obtain a clear understanding of Firebase.