
Here you will see what we the app will look like once you are done building. This show how smooth it is to chat using firebase in Flutter.
Create a firebase project
Automate configuring firebase Android and iOS projects with FlutterFire using Flutter Fire Configure, including Gradle setup, minSdk 19 and compileSdk 33, iOS dependency installation for simultaneous Android and iOS development.
Start working on the welcome screen
Get the complete code from here https://www.dbestech.com/flutter_firebase_google.zip
Design a welcome page with three images using a page view and a dot indicator plugin. Use a stack and screen util for responsive, asset-based visuals.
Bind the dots indicator to a Flutter page view using a controller, position widgets for the login button on the last slide, and customize the dots for clear navigation.
This is to advice you when you try Google sign. You must remember this part.
Develop the sign-in button and sign-in page flow, update bindings and controllers, and save first-time open state with shared preferences to navigate to the sign-in page.
Create a Flutter sign-in page with a logo at the top, using a dedicated build logo widget and asset image, while initializing config store and Firebase integration for app architecture.
Implement a sign-in controller in Flutter, integrate a Google sign-in button with proper scopes and OpenID settings, and save user data to Firebase Firestore upon sign-in.
Save user data to Firestore in a Flutter chat app by using a converter to map between Firestore documents and a user data model, and by checking the users collection.
Use GetX middleware to redirect logged-in users to the app home page instead of boot slides, by checking isFirstOpen and isLoggedIn.
Discover how to design a Firebase chat app using Firestore with users and messages collections. Create a unique chat document per user pair and a message list subcollection.
Understand how Firebase database structures support chat apps by examining collections, documents, and message storage. See how fields like from UID, from name, timestamp, and message type organize conversations.
Read all user data from Firebase Firestore, filter out the current token, and display users on the contact page using a converter to map data to a user model.
Fetch all users from Firebase Firestore, excluding the current user, populate an observable contact list, and display them on the contact page through the controller bindings.
Read Firebase data to display a dynamic user list on the contact page, and implement a go chat function to open a chat page by reading messages from Firestore collections.
Read firebase data and display it on the contact page by setting up a chat with a chat controller, a chat binding, and a chat page, and wiring routes.
Build a gradient ab bar for the chat page, enable sending text and images with a preview, and wire routes and a chat controller to manage state.
Grab route parameters in the chat controller on init and map them to dock id, uid, and name. Implement image builder with fallbacks and error widgets for avatars.
Set up the chat page and controller, implement text input and a tappable row, and send messages to Firebase Firestore using a MSG Content model with uid and timestamp.
learn to extend a real-time chat page by adding an image send icon, a send button wired to a chat controller, and Firebase updates for messages and timestamps.
Refactors the chat module into a message directory, sets up real-time Firestore listeners in the chat controller, and builds chat UI widgets for text and images.
Build chat left item and chat list on chat page, then add a bottom sheet image picker (gallery or camera) and upload the file via chat controller to Firebase storage.
Listen to Firebase document changes in a real-time chat app by subscribing to collection snapshots, iterating doc changes with a switch on change types, and handling errors.
Ensure the chat controller supplies a valid doc id when opening the message page to prevent null doc id errors. Retrieve the doc id from data and use it to send messages successfully.
Explore image uploads in a real-time chat app using Flutter and Firebase Storage, including file naming, upload progression, getting the image URL, and handling gallery and camera permissions.
Demonstrates image upload in a real-time chat app using image picker to select a gallery image, convert to a file, upload to Firebase, and use the download URL in chat.
Learn to build a real-time flutter chat app, focusing on the message page and chat history. Create controller.dart, state.dart, view.dart, binding.dart, and indexed.dart, and integrate GetX with Firestore.
Build a real-time chat interface in Flutter by creating a message page and a dynamic message list, integrating Firestore data, GetX state management, and a pull-to-refresh controller.
Clarifies Firebase file storage wrap and child, showing how to use a RAF instance to refer to a chat folder and upload an image with the dot RAF method.
Fetch and display the other user's location in a real-time chat by reading from Firestore, saving and updating location data, with debug logs to confirm updates.
You will learn here how to master firebase and flutter by building a real time chat app. It's a course for building iOS and Android app using Flutter.
Here I have covered how to build Flutter UI to advanced Flutter concept. But this tutorial mostly focuses on how to build a strong app using firebase.
We talked a lot about firebase data storage and how to retrieve them and show on the app. We used a lot of complex queries and conditions to work with. You will learn how to use where() clause, double where() and withConverter() and conditional check. You will also learn about complex processing and listening data update and document updates.
We also showed step by step how to examine on the data. At the end of the course you will get the complete source and master flutter and firebase real time chat app building.
There are fifty three chapters and each chapter deals with a different topic. And more chapters would be added in future.
Screen Features
1. Launch screen
You will see it has screen with three slides. The last one lets you enter in the login page.
2. Login screen
We used social networking for launch screen. The paid version app includes both Google and Facebook sign in. But you will have issues with Facebook login. We will also do Apple account login.
3. Contact screen
From contact screen you would be able to see how many people have chatted to before. You may choose any to chat back.
4. Chatting screen
Here you would be able to chat between two people and get instant messages. Currently you send images and texts for chatting.
Not only you may send photos on the chat, you may also take photos and send.
5. Personal center
Here is your dashboard. You navigate to other screens and logout.
6. Allow location
The app uses user's current location. With this you know who you are chatting to. And there current location.
7. Photo view screen
Here you can tap on a photo and enlarge it.
8. Notification
We will have notification bar to see when others send message