• Post category:StudyBullet-13
  • Reading time:11 mins read

The Ultimate Flutter and Firebase Course: Develop A Powerful Flutter and Firebase Powered Chat Application

What you will learn

Build a complete, real-world app with Flutter, Firebase and Dart

Write production-ready code following best practices and become a competent Flutter developer

Write iOS & Android apps with a single codebase using Flutter and Dart

Fast-track your Flutter and Firebase learning with practical tips and proven techniques


Do you want to build a complete Mobile Chat Application that works on iOS and Android, powered by Flutter and Firebase? Then this is the course for you!


In this course, we’ll use the best in Flutter and Firebase to build a complete chat application from zero to deployment called Chatify that you can release on the Google Play Store or iOS App Store.


  • An Amazing Real-Time Messaging Experience
  • A Chats Page just like other popular Messaging Apps
  • Finding Other App Users using Full-Text Search
  • Media Sharing Between Users ​
  • Authentication
  • Registration
  • Automatic Login
  • Using Device Camera and Image Library for Image Uploads
  • Creating Group Chats
  • Realtime Status and Activity Indicators


  • Flutter 2.0
  • Firebase​
  • Provider State Management
  • Uploading Media Files with Firebase Storage​
  • Complete CRUD Functionality in Realtime with Cloud Firestore
  • Authentication using Firebase Authentication ​
  • Taking Pictures / Picking Images for Upload with Flutter ​ ​
  • Working with Streams and Futures
  • Managing State using Stateful Widgets and Provider Framework​
  • Media Queries and Device Orientation for Responsive App Design
  • Handling Async Data with FutureBuilders, StreamBuilders, and Async / Await Functions
  • Animations and Page Transitions
  • Image Caching for Performance ​
  • Form Validation and Error Handling ​
  • Custom Theme, Fonts, ​and Widgets Creation
  • Tons of Practical, Straightforward and Repeatable App-Building Patterns ​
  • And much more!​


Get Instant Notification of New Courses on our Telegram channel.

DealsCrown Telegram Banner

Deep, Fine-Grained Learning – This course is jam-packed with information. I made the course that I most wanted to take and as a result, I didn’t skimp on the details. You’re going to cover more topics and material in greater depth than ever before.

100% Real-World Practice – My goal is to get you writing code as much as possible. And not just any code–we’ll be working exclusively on practical tasks that are instrumental in building your own amazing real-world apps.

No-Nonsense, Spot-On Explanations – Every lesson is to the point. I break down what we’re making, how we’ll be doing it, and what the final product will look like, all on top of helpful and illustrative descriptions to aid your understanding along the way.

I really enjoyed making this course and I think you’ll enjoy taking it just as much.

Looking forward to seeing you taking this course!

Who this course is for:

  • Mobile and Web Developers looking to build impressive real-world, production-ready applications using Flutter and Firebase!
  • Flutter Developers looking to enhance their skillset.
  • Developers looking to delve into the world of Flutter and Firebase.



Application Overview
Creating Flutter Project
Adding Required Packages

Firebase Setup

Firebase Project Creation
iOS Firebase Setup
Android Firebase Setup
Firebase Firestore Database Structure

Spalsh Page and Internal Services

Create Splash Page
Explanation Splash Page
Initializing Firebase Application
Creating Navigation Service
Creating Media Service
Creating Cloud Storage Service
Creating Database Service
Finishing Up Splash Page

Login Page

Creating Login Page
Adding Page Title
Adding Form Fields
Adding Login Button
Adding Register Page Link

Implementing Firebase Authentication

Creating Authentication Provider
Creating User Model
Creating A User In Firebase
Creating Login Function
Implementing Login Functionality
Listening To Firebase Auth State Changes
Implementing Database Service Functions
Parsing User Data
Navigating to HomePage

Registration Page

Creating Registration Page
Creating Profile Image Field
Implementing Image Picker Function
Adding Form Fields
Adding Register Button

Implementing Registration

Creating Registration Function
Writing Firebase Cloud Storage Function
Writing Firestore Create User Function
Implementing Registration
Redirection after Registration

Home Page

Implementing Bottom Navigation Bar
Creating Chats Page
Creating Users Page

Chats Page

Creating Top Bar
Creating Chat Message Model
Creating Chat Model
Creating Custom List View Tile With Activity- Part 1
Creating Rounded Image With Status Indicator
Creating Custom List View Tile With Activity- Part 2
Code Refactoring
Creating Chats Page Provider
Adding Chats Data To Firebase Cloud Firestore
Get Chats For User From Firebase
Get Last Message For Chat Chats From Firestore
Setting up Chats Stream From Firestore For Firebase User
Working with ListView Builder and Provider
Update ChatTile Function

Chat Page

Creating Chat Page
Adding Top Bar
Creating Chat Page Provider
Adding CRUD Functions To Database Service
Setting up Firestore Stream For Messages
Creating Send Message and Delete Chat Functions
Showing Messages In List View
Creating Custom List View Tile
Creating Text Message Bubble Widget
Creating Image Message Bubble Widget
Adding Message Text Form Field
Adding Send and Image Message Button
Sending Text Messages In Chat Using Firebase and Firestore
Sending Image Messages In Chat Using Firebase Storage
Fixing Bugs
Auto Scroll ListView To Last Message Sent
Showing User Typing Activity

Users Page

Adding TopBar
Adding Search Bar Field
Adding Users List View
Creating Users Page Provider
Retrieving Users From Cloud Firestore
Displaying Users In List View
Selecting Users To Chat
Create Chat In Cloud Firestore
Adding Create Chat Function To Users Page Provider
Adding Create Chat Button
Testing Create Chat Functionality
Adding Remaining Functionality To Users Page

Final Overview

Testing Completed Application