Build WhatsApp Clone with Clean Architecture - WEEK 4 & 5 of Flutter & Firebase Developer Bootcamp

preview_player
Показать описание
#flutter #firebase #bootcamp #cleanarchitecture #whatsapp

Welcome to the Complete Clean Architecture WEEK 4 & 5 of Flutter & Firebase Development Bootcamp, in these WEEKs we will build complete WhatsApp Clone with Clean Architecture, including the following features:

🎉 WEEK 4 Flutter & Firebase Bootcamp 🎉

00:00 - Overview to Software Structure & Design
05:49 - Understanding Clean Architecture
08:45 - Why only four layers?
10:17 - Clean Architecture in Flutter
10:46 - Clean Architecture VS TDD Clean Architecture in Flutter
13:06 - Clean Architecture Presentation Layer Call Flow
14:12 - Setup Presentation Layer in Flutter Project
14:36 - Clean Architecture Domain Layer Call Flow
15:48 - Setup Domain Layer in Flutter Project
16:17 - Clean Architecture Data Layer Call Flow
17:30 - Setup Data Layer in Flutter Project
18:37 - Understanding combine workflow of Clean Architecture
20:43 - Demo of WhatsApp Clone Clean Architecture
38:07 - Designing WhatsApp Clone UI in Flutter Part 1
01:10:08 - Designing WhatsApp Clone UI in Flutter Part 2
01:44:23 - Designing WhatsApp Clone UI in Flutter Part 3
02:37:56 - User Feature Domain Layer
02:57:40 - User Feature Data Layer
03:22:28 - User Feature Presentation Layer
03:47:53 - User Feature Dependency Injection
04:04:05 - User Feature Binding Logic in UI
05:00:47 - Chat Feature Domain Layer
05:26:46 - Chat Feature Data Layer
05:59:21 - Chat Feature Binding Logic in UI
06:00:29 - Load Contacts from Firebase
06:08:53 - Create other user in Firebase
06:10:53 - Load MyChat Conversations
06:17:30 - Load Messages in SingleChatPage
06:30:51 - Send Text Message (Text)
06:36:59 - Realtime Message Test
06:39:40 - Common method for messages (Image, Video, Gif, Audio)
06:43:58 - Preparing methods for messages (Image, Video, Gif, Audio)
06:52:16 - Track Bottom on Message send
06:58:50 - Adding Preview Widgets
07:09:07 - Binding Methods in UI
07:13:19 - Add Permission in Android & iOS
07:14:21 - Send Image Message
07:15:03 - Send Video Message
07:16:16 - Send Gif Message
07:16:51 - Send Audio Message
07:18:35 - Delete Message
07:20:20 - Run Flutter App on iOS Simulator
07:21:40 - Firebase Exception [firestore/core] duplicates app named "[DEFAULT]" already exist
07:23:15 - Firebase Phone Auth fails in iOS Simulator [FIXED]
07:25:20 - Firebase Exception [cloud_firestore/unavailable] - [FIXED]
07:29:07 - iOS Simulator Limitations
07:30:01 - video_player not work on iOS issue #5665 [PlatformException]
07:31:18 - Reply Message in WhatsApp Flutter Clean Architecture
07:54:05 - Show Emoji Keyboard Flutter
08:03:09 - Seen Message in WhatsApp Flutter Clean Architecture
08:11:25 - Online/Offline Status in WhatsApp Flutter Clean Architecture
08:15:19 - Test Seen Message & Online/Offline Status

🎉 WEEK 5 Flutter & Firebase Bootcamp 🎉

08:20:35 - INTRO
08:21:24 - Status Feature Domain Layer
08:40:13 - Status Feature Data Layer
09:09:14 - Status Feature Binding Logic in UI
10:12:10 - Call Feature Domain Layer & Data Layer
10:32:43 - Call Feature Binding Login in UI
10:33:55 - Adding Update Call Status feature
10:36:04 - Flutter Agora Setup (Create Project)
10:37:30 - Adding Agora Config in Flutter App
10:38:45 - Creating Call Feature Cubits
10:44:09 - Injecting Call Feature Classes (Dependency Injection)
10:45:36 - Create Agora Call Page
10:49:06 - Create Agora Pick Up Call Page
10:54:20 - Implementing Make Call Method
10:57:07 - Agora Token-based Authentication
10:59:41 - Set up Node Server to get Agora Token
11:02:15 - Set up Agora tokenUrl in Flutter App
11:03:05 - Flutter Agora RealTime Calling in Action WhatsApp Clone Clean Architecture
11:07:23 - Flutter Agora Call History WhatsApp Clone Clean Architecture
11:10:39 - Flutter Agora Call History in Action
11:12:38 - Intro to Firebase Cloud Messaging
11:13:13 - What is FCM (Firebase Cloud Messaging)?
11:13:37 - What are Firebase Cloud Functions?
11:15:01 - Enable Firebase Project Billing
11:16:27 - Switch Firebase Project in Flutter
11:18:59 - Explore Firebase Cloud Messaging & Functions
11:21:17 - Adding "token" field in user model
11:23:42 - FCM set up in Flutter App
11:28:59 - Send Push Notification Manually
11:30:56 - Setting up notification collection for push notifications
11:38:24 - Set up Firebase Cloud Functions
11:40:53 - Write Firebase Cloud Function for Push Notification
11:44:39 - Deploy Firebase Cloud Function
11:45:57 - Push Notifications on message send in action
11:48:18 - Ending

Рекомендации по теме
Комментарии
Автор

Brilliant video, thank you so much professor

DMNBK
Автор

Thank you for your teaching

My master

Decem
Автор

Thank you, can you share vscode extensions you are using?

takundamafuta
Автор

Hi sir, do you have a tutorial of how you setup your vscode extensions, everything looks awesome? I'm curious to know when you minimise e.g. it appears with a closing bracket.

takundamafuta
Автор

5:10:14 how did you share your phones screen on the comp screen?

Hande_hoch
Автор

Hi, which text editor or IDE is this?

takundamafuta
Автор

hi is this support pagination to load old message?

frankyjunior
Автор

hi is there any way to use the agora without serrver i have to host for my bootcamp. or do i hve to use the zegocloud

SubramanyanS-xt
Автор

I haven't learned bloc state management. But I have learned provider can I start this tutorial? Easily or I should go and learn bloc 1st?

SargodhaBut
Автор

I have an error with onSwipe in the single_chat_page as follows:The argument type 'void Function()?' can't be assigned to the parameter type 'void
{void Function()? onSwipe}
Type: void Function()? , how to fix it, thank you very much

locnguyenxuan
Автор

sir you handled stream data with cubits?

Oveshshaikh
Автор

does this have the feature where messages are no longer stored on firebase when they are on users device
??

trijalsrimal
Автор

in this app your using bloc state management???

Oveshshaikh
Автор

Wow man! you are Allah's gift for us.

ghulammurtaza
Автор

can i ask that if i turn off the internet and use the app, can it show data locally in my device? Like message history, call history, ... Because i don't see you use local storage like hive or sqflite here

tuangreen
Автор

Amad sir you give to option delete message but did not save message like vido and image we cannot save device storage how to add healp me

shrayeshdahal
Автор

now my i got my Mistake, i was implemented my all logic in bloc class, but now i understand only call the function not write logic here, right Sir?

Oveshshaikh
Автор

Cross Platform is good for the small businesses.

henrik
Автор

Sir, maybe you're good at making architecture, but your UI-related code is very bad. Why you don't decompose such long code? It's too hard or even impossible to read it. Also you don't follow DRY principle in UI.

shafeemahmoud
Автор

: Error: The getter 'subtitle1' isn't defined for the class 'TextTheme'.
- 'TextTheme' is from
Try correcting the name to the name of an existing getter, or defining a getter or field named 'subtitle1'.
style: Theme.of(context).textTheme.subtitle1!, getting this error how to slove it?

anmolrao