
Build a serverless app for Android and iOS using Flutter and Firebase, writing the front end in Dart and back end in Cloud Functions, with Firestore, Storage, and real-time updates.
Explore Flutter, a cross-platform framework for building Android and iOS apps from a single code base using Dart, delivering native performance with hot reload and customizable widgets.
Explore firebase as a complete backend suite for mobile and web apps, backed by Google, with analytics, databases, messaging, crash reporting, authentication, cloud storage, cloud functions, and cloud messaging.
Create a new Firebase application via the Firebase console with a Google account, name the project, and access authentication, cloud storage, and messaging on the dashboard.
Design a signup page in Flutter and Firebase that mirrors the login page, adding name, email, password, and password confirmation fields, and prepare the sign up logic.
Create users with Firebase authentication using email and password, then update the profile with the entered name while handling password mismatches and errors via snack bars.
Set the login page as default, then navigate to sign-up with Navigator.push and context, and return with Navigator.pop, illustrating navigation between login and sign-up screens on a navigation stack.
Display all user posts in chronological order on the feed page, with the latest at the top, and enable composing posts with text and image uploads via a compose box.
Create a new post page in a Flutter and Firebase app, navigate from the feed via the compose widget or fab, and implement a post form with text and actions.
Install two plugins for Flutter and Firebase by editing pubspec.yaml and running packages get in Android Studio or VS Code; configure an image picker to capture or select photos.
Display an image preview in Flutter by selecting from the camera or gallery, showing a 300 by 300 preview with a close button to remove and reselect.
Display posts retrieved from Firebase on a Flutter feed page by looping post documents into widgets and presenting them in a list view using a FutureBuilder.
Add infinite scrolling by binding a scroll controller to the list, listening for near-bottom events, and loading more documents from the cloud store to extend the feed.
Thank you for taking the course so far. I have been working on the next modules and will add them to the course as soon as possible. Stay tuned.
Getting Started with Flutter and Firebase is a complete course about full-stack application development for Android and iOS using Google's new and popular framework - Flutter and one of the most popular BaaS - Firebase. In this course, you will learn all about Flutter and Firebase while working on a real-world social application. At the end of the course, you can publish your app on the Google Play Store or on the Apple App Store.
We start by learning the basics of Flutter and Firebase. Once introduced to both the technologies, you will learn about building the front-end of the mobile app using Flutter using the built-in widgets and the back-end will be taken care of by Firebase. The code for each lecture is available for students to refer to in an easy to use and organized way. A repository will be shared with each student and the code for each lecture is available on a separate Git branch. You can clone the repository as well.
You will be building a Social Mobile App using Flutter and Firebase - Feedly.
You will learn about
Building User Interfaces with Flutter - You will start by learning the basics of Flutter and Firebase. Throughout the course, you will learn about various widgets built into the framework and use them in a real app. You will learn how to build beautiful user interfaces and adding interactivity to them using Dart, which is the primary programming language for Flutter.
Firebase Authentication - You will learn to create authentication flows using the Flutter and Firebase. The users' creation and authentication will be taken care of by Firebase Auth. This takes away all the pain about user management. All you need to do is hook your app up with Firebase Auth and your users can start signing up and logging in into your app using their emails and passwords. We will also work towards building a good user experience, and for that, we will use various features and widgets built into Flutter.
Cloud Firestore - Cloud Firestore is a flexible, scalable database for mobile, web, and server development from Firebase and Google Cloud Platform. You will learn how to store and retrieve all the data of your application using Cloud Firestore. You will learn about querying data and using the Future API to display data in the app, asynchronously. You will be using Flutter widgets like ListView and FutureBuilder to build all the user interfaces.
Firebase Cloud Storage - The social app that we will be building in this course, Feedly, allows its users to click pictures using their phone's camera, or choose one from the phone's photo album and upload them. We store all these images in a secure and accessible cloud location. Cloud Storage for Firebase is a powerful, simple, and cost-effective object storage service built for Google scale. You will learn about clicking images using the phone's camera and uploading it to Firebase Storage.
Firebase Cloud Functions - Cloud Functions for Firebase lets you automatically run backend code in response to events triggered by Firebase features and HTTPS requests. You will learn about creating Firebase functions to implement the Likes and Comments functionalities in our app, called, Feedly. This will allow the users to like posts made by other users and also comment on those posts. All this data is updated in real-time in the app, thanks to Firebase Cloud Functions and Cloud Firestore's real-time capabilities.
Firebase Cloud Messaging - Firebase Cloud Messaging allows you to send notifications to your users to keep them engaged with the app. In this course, you will learn about sending notifications to users of your application. You will be sending notifications to a user whenever someone likes their posts or comments on their posts. Since we are building a real-world social mobile app, cloud messaging is one of the most vital features to keep users engaged with the app. These notifications will be automated using Firebase Cloud Functions.
So, what are you waiting for? Start learning and build your own real-world social mobile app with Flutter and Firebase.