What you'll learnFlutter real world production ready video and voice chatting app including text messages
Learn how to set up different servers together and use in one project
Learn how to work with firebase, custom backend and third party servers
Learn about Laravel Framework, Firebase Firestore and Agora SDK
Learn about building API using Laravel Framework and use the API from Flutter Framework
RequirementsFlutter and Dart SDK are installed as well PHP and Composer Installed
DescriptionHere you will build a real world app and master app building technique by learning Flutter, Laravel, Firebase and third party SDK for audio and video call app.Who will take itBeginners to advanced learnersFor landing a jobFor colleague thesisFor prototypingFor mastering app buildingApp functional featuresThird party loginPhone number loginText chatImage chatAudio call chatVideo call chatSending notification (text, audio and video chat)Profile pageNotification on text message receiveNotification on audio callNotification on video callSound on initiating audio callSound on initiating video callSave chat historyThird party login would involve Google, Facebook and Apple login. We will also see how to login using phone number. The chatting feature of this is very seamless since we used SQFLITE to save the chatting history locally. First we save chat messages locally and send them to the other end in the background service. So users feel like the app very fast sending messages. The same happens for sending images. We first save the image locally and then send to other user.We also save user profile locally, so you don't have to confirm with Firebase or Laravel for login. Next time a user logs in, user will feel like it's fast, since we read the data locally first. The same happens for chatting history. Chat history is read from local storage first.Flutter frameworkWe used Flutter framework for building beautiful UI for both iOS and Android. In Flutter framework, we also cover a lot of Dart knowledge and how to use models and classes to work with view and controllers.Firebase serviceWe used Firebase for sending users registration and phone number login. We used Firebase also for sending notification. Here in this tutorial you will more complex features of firebase like saving chat history, images, listening to document updates and uploading images.Laravel frameworkLaravel framework we used for building API for authentication. We used it also for saving basic information and communicating with Firebase for sending notification.Agora SDKWe used Agora SDK for using video and audio call service. Agora provides very stable API for audio and video call.
OverviewSection 1: Introduction
Lecture 1 Introduction
Lecture 2 Demo video
Section 2: Project structure and folder
Lecture 3 Basic project structure of the app
Lecture 4 Create new project folder
Section 3: Welcome module
Lecture 5 Welcome module and controller
Lecture 6 Welcome module and binding controller
Lecture 7 Welcome module and create library
Lecture 8 Welcome module and view
Lecture 9 Welcome module and main.dart
Lecture 10 Welcome module and onboard screen
Lecture 11 Welcome module summary
Section 4: Message module and middleware
Lecture 12 Message module controller, binding, view and library
Lecture 13 Understanding the middleware
Section 5: Sign in module
Lecture 14 Sign in module controller, binding and library
Lecture 15 Sign in module routing and binding
Section 6: Dependency Injection
Lecture 16 Inject dependencies globally
Section 7: Local storage and dependencies
Lecture 17 Understand StorageService class and SharedPreferences
Lecture 18 More on StorageService and SharedPreferences
Lecture 19 Difference between Get.put, Get.lazyPut and Get.putAsync
Section 8: Sign in module with third party login
Lecture 20 Sign in module and page logo
Lecture 21 Sign in module and third party login button
Lecture 22 Build sign in page and dynamic name and logo part 0
Lecture 23 Sign in module and phone number login part 1
Lecture 24 Sign in module and phone number login part 2
Lecture 25 Set up firebase with CLI
Lecture 26 Sign in module and handleSignIn() part 1
Lecture 27 Sign in module and handleSignIn() part 2
Lecture 28 Sign in module and handleSignIn() part 3
Section 9: Learn to reconfigure iOS and Android settings and SHA1 and SHA256 key generation
Lecture 29 Must know about Google login
Lecture 30 iOS and Android login and configuration
Lecture 31 iOS and Android login and fingerprint
Lecture 32 iOS and Android change bundle id and package name and generate SHA256 key
Lecture 33 iOS and Android login and reset reverse client id
Section 10: Learn what we are going to do next
Lecture 34 Knowing about next new hours
Section 11: Message module and getting messages from firebase
Lecture 35 Message module and create route
Lecture 36 Message module and middleware
Lecture 37 Message module and basic page part 1
Lecture 38 Message module and head bar
Lecture 39 Message module and hear bar profile icon
Lecture 40 Message module and more on profile icon
Lecture 41 Message module and UserItem class
Lecture 42 Message module and show online icon
Section 12: Profile module
Lecture 43 Profile module and set up
Lecture 44 Profile module and body section
Lecture 45 Profile module and show profile photo
Lecture 46 Profile module and show edit icon
Lecture 47 Profile module and complete button
Lecture 48 Profile module and dialogue button
Lecture 49 ProfilePage and logout part 7
Lecture 50 Profile module and logout button
Lecture 51 Profile module and minor changes in the UI
Section 13: Backend module(server side)
Lecture 52 Install laravel locally
Lecture 53 Mac OS create MySQL database and set up
Lecture 54 Mac OS install laravel-admin package
Lecture 55 Laravel-admin package set up and configuration
Lecture 56 Laravel basic understanding of the framework
Lecture 57 Database server and local storage connection
Lecture 58 phpMyAdmin users table edit
Lecture 59 MySQL Workbench edit users table
Section 14: Build dummy API
Lecture 60 Laravel build dummy API and test using postman
Lecture 61 Laravel dummy API test on the app
Section 15: Middleware redirect and routing convention
Lecture 62 Middleware redirect set up and keep the user logged in
Lecture 63 Learn about laravel route set up and convention
Section 16: Server side Login module
Lecture 64 LoginController module and login method part 1
Lecture 65 LoginController module and postman test part 2
Lecture 66 LoginController module and Postman test part 3
Lecture 67 LoginController module and access token and Postman test part 4
Lecture 68 LoginController module and work on update access token part 5
Section 17: API call on the app
Lecture 69 Calling API from the app and understand the connection
Lecture 70 Calling API from the app and debug API error
Section 18: Deeper understanding of user profile saving and local storage connection
Lecture 71 Saving user profile data during login and remove during logout
Lecture 72 Understand how saving user profile works for better app performance
Lecture 73 UserStore class login, logout and middleware
Lecture 74 Create message page button (this part was missing from the original upload)
Section 19: About the upcoming sections
Lecture 75 Learn about the upcoming sections
Section 20: Contact module and serside build API and middleware
Lecture 76 Contact module front end set up
Lecture 77 Contact module and app bar
Lecture 78 Contact module and test API with Postman
Lecture 79 Contact module and build middleware part 1
Lecture 80 Contact module and Bearer token in middleware part 2
Lecture 81 Contact module and middleware part 3
Lecture 82 Contact module and finish working on middleware part 4
Lecture 83 Contact module and load data from server part 5
Lecture 84 Contact module and flutter load data and print part 6
Lecture 85 Contact module and show other users profile photo part 7
Lecture 86 Contact module and show other users data part 8
Lecture 87 Upcoming sessions
Lecture 88 Contact module and understand chatting query
Lecture 89 Contact module and chatting algorithm query part 2
Lecture 90 Contact module and chatting algorithm part 3
Lecture 91 Contact module and chatting algorithm routing part 4
Lecture 92 Contact module and routing part 5
Section 21: Chat module
Lecture 93 Contact module and Chat module view app bar part 7
Lecture 94 Chat module and build user photo at the top part 2
Lecture 95 Chat module and show dot on user photo part 3
Lecture 96 Chat module and routing from contact module
Lecture 97 Chat module and back button
Lecture 98 Chat module and text field part 6
Lecture 99 Chat module and simple debugging technique for container and textfield part 7
Lecture 100 Chat module and textfield part 8
Lecture 101 Chat module with send and plus buttons part 9
Lecture 102 Chat module and plus button menu part 10
Lecture 103 Chat module and plus button menu button part 11
Lecture 104 Upcoming sessions
Section 22: VoiceCall module
Lecture 105 VoiceCall module and basic set up part 1
Lecture 106 VoiceCall module and set up view part 2
Lecture 107 VoiceCall module and show avatar and basic routing parameters
Lecture 108 VoiceCall module and show the name part 3
Lecture 109 VoiceCall module and microphone view part 4
Lecture 110 VoiceCall module and call button and speaker button view part 5
Lecture 111 VoiceCall module and controller and agora set up part 6
Lecture 112 VoiceCall module and agora resisterHandler part 7
Lecture 113 VoiceCall module and agora engine set up part 8
Lecture 114 VoiceCall module and joinChannel and leaveChannel methods
Lecture 115 VoiceCall module and change state in the view part 10
Lecture 116 VoiceCall module and check if the user can join chatting room or not part 11
Lecture 117 VoiceCall module and two simulators join the chatting room part 12
Lecture 118 VoiceCall module and real device and simulators talking part 13
Lecture 119 VoiceCall module and understand why we need API part 14
Lecture 120 VoiceCall module and create controller in the laravel backend part 15
Lecture 121 VoiceCall module and build your api for access token part 16
Lecture 122 VoiceCall module and play sound and reinit the token part 17
Lecture 123 VoiceCall module and get channel id dynamically part 18
Lecture 124 VoiceCall module and token and api binding part 19
Lecture 125 VoiceCall module and API test on Postman part 20
Lecture 126 VoiceCall module and use access token and get Agora token 21
Lecture 127 VoiceCall module and initiate call with real token part 22
Lecture 128 VoiceCall module and send notification part 23
Lecture 129 VoiceCall module and send notification part 24
Lecture 130 VoiceCall module and send notification Firebase Admin SDK part 25
Lecture 131 VoiceCall module and send notification part 26
Lecture 132 VoiceCall module and send notification Postman test 27
Lecture 133 VoiceCall module and send notification cloud api part 28
Lecture 134 VoiceCall module and send notification and cloud api part 29
Lecture 135 VoiceCall module and send notification android setting part 30
Lecture 136 VoiceCall module and Assignment part 31
Lecture 137 VoiceCall module and send notification and flutter settings part 32
Lecture 138 VoiceCall module and send notification flutter settings and device token part 33
Lecture 139 VoiceCall module send notification and get device token part 34
Lecture 140 VoiceCall module and send notification and check device token part 35
Lecture 141 VoiceCall module and send notification and create bind_fcmtoken endpoint part 36
Lecture 142 VoiceCall module and send notification and get and save device token part 37
Lecture 143 VoiceCall module and send notification and Postman and emulator test part 38
Lecture 144 VoiceCall module and send notification and device to device call part 39
Lecture 145 VoiceCall module and understanding voice call notification part 40
Lecture 146 VoiceCall module and understanding notification part 41
Lecture 147 VoiceCall module and understand foreground and background notification part 42
Lecture 148 VoiceCall module and understand receive notification function part 43
Lecture 149 VoiceCall module and understanding cancel and background notification part 44
Lecture 150 Upcoming sessions
Section 23: Chat module
Lecture 151 Chat module and send message create function part 1
Lecture 152 Chat module and send message create message object part 2
Lecture 153 Chat module and send message add data to firebase collection part 3
Lecture 154 Chat module and send message and return document id part 4
Lecture 155 Chat module and send message understand collection and sub-collection part 5
Lecture 156 Chat module and send message and understand collection fields part 6
Lecture 157 Chat module and send message and get document id from collection part 7
Lecture 158 Chat module and send message and get firebase collection fields part 8
Lecture 159 Chat module and send message and update documents fields part 9
Lecture 160 Chat module and send message and understand orderBy limit and snapshot part 10
Lecture 161 Chat module and send message and understand snapshot data edit part 11
Lecture 162 Chat module and send message and get query snapshot part 12
Lecture 163 Chat module and send message and add docs to temporary list part 13
Lecture 164 Chat module and send messages and understand the temporary list part 14
Lecture 165 Chat module and send message and release listener resources part 15
Lecture 166 Chat module and send message and slivers for ui part 16
Lecture 167 Chat module and send message and show message on the ui part 17
Lecture 168 Chat module and send message and style text in the ui part 18
Lecture 169 Chat module and send message and understand CustomScrollView and Slivers part 19
Lecture 170 Chat module and send message and left chat list part 20
Lecture 171 Chat module and send message and fix bug part 21
Lecture 172 Chat module and send message and auto scrolling part 22
Lecture 173 Chat module and send message and minScrollExtent part 23
Lecture 174 Chat module and send message and min and maxScrollExtent part 24
Lecture 175 Chat module and load more data async part 25
Lecture 176 Chat module and add listener part 26
Lecture 177 Chat module and load more data part 27
Lecture 178 Chat module and understand scrolling and load more data part 28
Lecture 179 Chat module and device to device chat part 29
Lecture 180 Chat module and send image part front end method 30
Lecture 181 Chat module and send image and understand upload_img method part 31
Lecture 182 Chat module and send image and API end point part 32
Lecture 183 Chat module and send images and view on browser part 33
Lecture 184 Chat module and send images device to device part 34
Section 24: Miscellaneous
Lecture 185 Hide keyboard and menu of chat
Lecture 186 Show profile photo in message page
Lecture 187 Show profile photo in profile page
Section 25: Message module
Lecture 188 Message screen and introduction
Lecture 189 Message screen, slivertoboxadapter and tab bar part 1
Lecture 190 Message screen and tab bar part 2
Lecture 191 Message screen and tab bar part 3
Lecture 192 Message screen and tab bar part 4
Lecture 193 Message screen and load messages part 1
Lecture 194 Message screen and load message part 2
Lecture 195 Message screen and load message part 3
Lecture 196 Message screen and load message part 4
Lecture 197 Message screen and load message part 5
Lecture 198 Message screen and load message part 6
Lecture 199 Message screen and load message part 7
Lecture 200 Message screen and show user icon part 8
Lecture 201 Message screen and show name and message part 8
Lecture 202 Message screen and show number of messages part 10
Lecture 203 Message screen and time format part 11
Lecture 204 Message screen and chat route part 12
Lecture 205 Message screen and clear red dots part 13
Section 26: Video call module
Lecture 206 Video call and folder structure and state changes part 1
Lecture 207 Video call and changes in the agora engine set up part 2
Lecture 208 Video call and switchCamera method part 3
Lecture 209 Video call and UI part 4
Lecture 210 Video call and ui part 5
Lecture 211 Video call and ui and make call part 6
Lecture 212 Video call and ui button design part 7
Lecture 213 Video call and ui and show other user's name part 8
Lecture 214 Video call and android section part 9
Lecture 215 Video call and iOS set up part 10
Lecture 216 Video call and send notification between devices part 11
Lecture 217 Video call and show time on the UI part 12
Lecture 218 Video call and test from real device iOS and Android part 13
Lecture 219 Video call and save call time in the database part 14
Lecture 220 Video call and update last message data in the firebase part 15
Section 27: Profile section
Lecture 221 Profile and show name and edit part 1
Lecture 222 Profile and save name in the state part 2
Lecture 223 Backend and build end point and method part 3
Section 28: Complete code
Lecture 224 Complete code
From beginners to advanced leaners
Buy Premium Account From My Download Links & Get Fastest Speed.