Sorry, this page is no longer available
Sorry, this page is no longer available
Sorry, this page is no longer available
Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Dastagir Ahmed

Here 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 it

  • Beginners to advanced learners

  • For landing a job

  • For colleague thesis

  • For prototyping

  • For mastering app building

App functional features

Read more

Here 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 it

  • Beginners to advanced learners

  • For landing a job

  • For colleague thesis

  • For prototyping

  • For mastering app building

App functional features

  • Third party login

  • Phone number login

  • Text chat

  • Image chat

  • Audio call chat

  • Video call chat

  • Sending notification (text, audio and video chat)

  • Profile page

  • Notification on text message receive

  • Notification on audio call

  • Notification on video call

  • Sound on initiating audio call

  • Sound on initiating video call

  • Save chat history

Third 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 framework

We 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 service

We 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 framework

Laravel framework we used for building API for authentication. We used it also for saving basic information and communicating with Firebase for sending notification.

Agora SDK

We used Agora SDK for using video and audio call service. Agora provides very stable API for audio and video call.

Enroll now

What's inside

Learning objectives

  • Flutter 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

Syllabus

Introduction

Download the starter code from the next section

Demo video
Here you will learn about project structure and folder
Read more

Learn about the project structure and how we will go ahead and what we will learn.

Here you may install postman from the link below

https://www.youtube.com/watch?v=TI65u-oNWKo

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Covers Flutter, a UI toolkit by Google, which is used for building natively compiled applications for mobile, web, and desktop from a single codebase
Employs Firebase for user registration, phone number login, and sending notifications, which are common tasks in mobile app development
Integrates the Agora SDK for video and audio call services, which provides a stable API for real-time communication features
Utilizes Laravel framework for building APIs for authentication and communication with Firebase, which are essential for backend functionality
Emphasizes saving user profiles and chat history locally using SQFLITE, which can improve app performance and user experience
Requires learners to install backend framework and third party library to work with, and also database set up, which may require additional effort

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Build real-world video call app

According to learners, this course offers a highly practical and engaging experience by focusing on building a complete, real-world video and voice call application. Students appreciate the opportunity to work with a multi-technology stack, integrating Flutter, Laravel, Firebase, and Agora SDKs. This hands-on approach helps solidify understanding of complex system architecture. However, a recurring concern is that the course content, particularly the code examples and dependencies, can become outdated rapidly due to frequent updates in the underlying frameworks and services. This necessitates significant debugging and problem-solving, which some learners, especially those newer to development, found to be a significant challenge. While the project itself is a valuable learning outcome, be prepared to troubleshoot versioning issues.
Integrating various complex services is challenging
"Requires a good understanding of how different services communicate."
"Integrating the backend, frontend, and third-party SDKs was the most challenging part."
"Setting up the diverse development environments takes time and effort."
Hands-on experience building a full application
"Loved building a full video call app end-to-end, it's very practical."
"The project-based approach made learning much more engaging and real."
"Applying concepts to a real app solidified my understanding immensely."
Maybe too fast-paced for beginners
"As a beginner, I found myself struggling to keep up with the pace."
"Assumes some familiarity with coding or specific frameworks."
"Needed to supplement with other tutorials to understand basics."
Technologies used evolve, leading to outdated code
"Ran into many errors because the code examples use older versions of Flutter/Firebase."
"Had to spend a lot of time debugging due to API changes in Agora."
"Instructor hasn't updated lectures for the latest framework changes."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Master Flutter By Building A Video And Voice Call App [2024] with these activities:
Review Dart Fundamentals
Solidify your understanding of Dart syntax, data types, and control flow to prepare for building Flutter applications.
Show steps
  • Review Dart documentation and tutorials.
  • Practice writing small Dart programs.
  • Complete online Dart quizzes and exercises.
Review Firebase Basics
Familiarize yourself with Firebase services like Authentication and Firestore, which are used for user management and data storage in the app.
Browse courses on Firebase
Show steps
  • Read Firebase documentation on Authentication and Firestore.
  • Watch introductory videos on Firebase setup and usage.
  • Experiment with Firebase console to create a sample database.
Build a Simple Chat UI
Practice building a basic chat interface in Flutter to get hands-on experience with UI components and layout management.
Show steps
  • Design a simple chat screen layout.
  • Implement the UI using Flutter widgets like ListView and TextField.
  • Add basic styling and theming to the chat interface.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Follow Agora SDK Tutorials
Work through tutorials on the Agora SDK to understand how to implement audio and video calling features in Flutter.
Show steps
  • Explore the Agora documentation and sample code.
  • Follow step-by-step tutorials on integrating Agora SDK into a Flutter app.
  • Test the audio and video calling functionality in a sample app.
Review 'Flutter Complete Reference'
Use this book as a reference to deepen your understanding of Flutter widgets and UI development techniques.
Show steps
  • Read relevant chapters on UI components and layout management.
  • Experiment with the code examples provided in the book.
Document the Project Architecture
Create a diagram and written explanation of the app's architecture, including the interaction between Flutter, Laravel, Firebase, and Agora.
Show steps
  • Create a diagram illustrating the app's components and their relationships.
  • Write a document explaining the data flow and communication between different services.
Contribute to a Flutter Package
Contribute to an open-source Flutter package related to UI components or networking to deepen your understanding of Flutter development.
Show steps
  • Find a Flutter package on GitHub that you want to contribute to.
  • Identify a bug or feature request and submit a pull request.
  • Address feedback from the maintainers and refine your contribution.

Career center

Learners who complete Master Flutter By Building A Video And Voice Call App [2024] will develop knowledge and skills that may be useful to these careers:
Flutter Developer
A Flutter developer specializes in creating mobile applications using Google's Flutter framework. This course is ideal for a Flutter developer striving for proficiency because it focuses on building a fully functional video and voice call application from scratch. The course covers Dart, the programming language used with Flutter, and how to use models and classes with views and controllers. This focus on practical application development using Flutter will allow a learner to gain experience relevant to the daily work of a Flutter developer, which involves designing UIs and handling state management, as well as integrating APIs for a mobile app.
Mobile Application Developer
A mobile application developer creates applications for devices like smartphones and tablets. This course is particularly helpful for a mobile application developer because it provides hands-on experience developing a real-world application using Flutter, a cross-platform framework. The course also covers integrating third-party tools like Firebase and Agora SDK for features like authentication and audio/video calls. A mobile application developer can use this course to build a strong foundation in full-stack mobile development, including front-end UI, backend services, and API integrations. The course's emphasis on a real app also helps to solidify practical skills.
Full-Stack Developer
A full stack developer works on both the front-end and back-end of applications. This course is useful for a full stack developer because it covers both front-end development with Flutter and back-end development with Laravel. Additionally, the course teaches how to integrate these technologies with Firebase for user authentication and data storage, and the Agora SDK for audio and video calls. This course enables a full stack developer to gain experience in all aspects of an application including API development, user interface building, and working with third-party services, which are all very important skills for a full stack developer.
API Developer
An API developer designs, develops, and maintains application programming interfaces through which applications interact. A career as an API developer is a good fit since this course dedicates time to building APIs using the Laravel framework. The course covers using Laravel to develop APIs for authentication purposes, saving basic user information, and connecting to Firebase for sending notifications. An API developer will find the skills taught, including building and testing dummy APIs, are directly relevant to their day-to-day work. This course provides direct experience with building and using APIs with a mobile application.
Android Developer
An Android developer builds applications specifically for the Android operating system. While this course uses Flutter, which is cross-platform, it is still well-suited to an Android developer. The course goes into detail about how to configure Android app settings, including generating SHA keys and changing package names, along with integrating third-party APIs. An Android developer will find the knowledge learned here, especially relating to Firebase and cross-platform development, to be very useful. This course also helps familiarize an Android developer with the architecture and challenges of cross-platform app development using Flutter.
iOS Developer
An iOS developer creates applications for Apple's iOS operating system. This course can be useful for an iOS developer because it uses Flutter, which is a cross-platform development framework that allows for building both iOS and Android applications from a single codebase. The course covers configuring iOS project settings, handling Google, Facebook, and Apple login, and working with push notifications. An iOS developer will gain experience with how to develop and deploy a mobile application that addresses the specific requirements of both the iOS and Android platforms. This real-world experience can translate to a deeper understanding of how to build apps for iOS.
Freelance App Developer
A freelance app developer works independently on app development projects for various clients. This course may be useful for a freelance app developer because it provides a full scope of practical knowledge needed to build an app from start to finish. The course covers front-end development using Flutter, back-end development using Laravel, and the integration of third-party services with Firebase and Agora SDK. A freelance app developer who completes this course will have a strong portfolio piece to show prospective clients. This project will also demonstrate ability to handle various issues in a hands-on way.
Software Engineer
A software engineer is responsible for the design, development, and maintenance of software systems. This course may be useful for a software engineer because it provides hands-on experience in building a complex mobile application using multiple technologies. A software engineer will learn about Flutter, Laravel, Firebase, and third-party SDKs, acquiring skills in front-end and back-end development. This course's approach to software engineering is comprehensive, from UI design using Flutter and API development to integration with external tools. The practical experience gained from building a full-fledged app can help prepare a software engineer to handle a variety of development challenges.
Application Integration Specialist
An application integration specialist focuses on connecting different applications and systems to work cohesively. This course may be useful to an application integration specialist because it teaches how to integrate Flutter applications with Laravel APIs and third-party services like Firebase and Agora SDK. This course also covers how to handle user authentication through various methods, including phone number login and third-party logins. An application integration specialist will learn how different components communicate and integrate in a real-world application, thus building valuable, practical experience.
Backend Developer
A backend developer focuses on server-side logic, databases, and APIs that power applications. This course may help a backend developer because it incorporates Laravel for building APIs and interacting with Firebase for data storage and user authentication. The course covers topics such as setting up a database, working with authentication, managing user profiles, and building secure APIs. A backend developer can benefit by getting hands-on experience in building a functional backend for a mobile application, which includes both API development and database connection. This course provides essential skills for any modern backend developer.
Mobile UI Designer
A mobile UI designer focuses on creating user interfaces for mobile applications. This course may be good for a mobile UI designer because it offers practical experience with using Flutter, a framework commonly used for building user interfaces, and focuses on how models and classes work with UI elements. The modules on the Welcome, Message, and Profile pages offer hands-on training on the creation of application flow and basic UI elements, which is of direct use to a mobile UI designer. A mobile UI designer will learn about UI/UX along with technical skills.
Mobile Solutions Architect
A mobile solutions architect designs the architecture of mobile applications, making critical decisions about technology choices and integrations. This course is potentially useful for a mobile solutions architect because it offers exposure to a full-stack approach by building a comprehensive mobile application from the ground up. It covers front-end development with Flutter, back-end services with Laravel, and integration with Firebase and Agora SDK. The course goes through how to integrate third-party APIs and services, which is essential knowledge for a mobile solutions architect. The real world app built in this course provides practical skills.
Technical Project Manager
A technical project manager leads technology-focused projects, ensuring they are completed on time and within budget. This course may be useful for a technical project manager because it provides an overview of the different phases of app development from front-end to back-end. The modules of this course span topics from UI design, API development, and server configuration to third-party service integrations. The broad exposure to the app development process that this course facilitates can help broaden a technical project manager's understanding of the issues that often arise in the development lifecycle.
Technology Consultant
A technology consultant provides expert advice on technology to help businesses improve their operations. This course may help a technology consultant because it provides exposure to a variety of different technologies that go into the development of a mobile application such as Flutter, Firebase, and Laravel. Knowing how these different technologies fit together will help the consultant create strategies and recommendations for businesses as they develop their plans for the future. The course is useful because of its hands-on approach to building an application, which will provide valuable insights for a consultant.
Mobile Product Manager
A mobile product manager defines the strategy, roadmap, and feature set for mobile applications. This course may be helpful for a mobile product manager because it provides hands-on experience developing an application from start to finish. A mobile product manager can gain a deeper understanding of the technical aspects of mobile development by learning about frameworks like Flutter, back-end services with Laravel, and integrations with third-party tools. The course provides valuable insights into the technology and processes used by developers, allowing for better communication and more effective product management.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Master Flutter By Building A Video And Voice Call App [2024].
Provides a comprehensive guide to Flutter development, covering everything from basic widgets to advanced concepts. It serves as a valuable reference for understanding Flutter's UI framework and building custom components. The book is particularly helpful for solidifying your understanding of Flutter's core principles and best practices. It can be used as a reference during the course and as a resource for future Flutter projects.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser