FlutterAgoraFirebaseVideoCall (Agora RTC, Bloc Pattern, Cubit, Firestore, Cloud Function, FCM)

Overview

Flutter Agora Fully Functional Video Call module

Tech Stack

Client: Dart, Flutter

Server: Firebase firestore, Google cloud functions

Techniques:

*BloC pattern with Cubit State management

*Fully Real-time data-consuming for (Users-History-VideoCall status)

*Real-time handling for all call status (calling - accept- reject - cancel - busy - unAnswer - end)

*Clean code and arch

*Ui=>Cubit=>Api data flow

*Dio package for deals with (generate agora token - FCM) api

*Fcm notification (handling incoming calls in terminated mode)

Build token generator using nodejs: https://www.youtube.com/watch?v=KcLypppA2IQ&ab_channel=Agora

Demo Video : https://www.youtube.com/watch?v=Ond-VhB11h4

App Screenshot

App Screenshot

App Screenshot

App Screenshot

Getting Started

*Create a new firebase project and setup firestore and enable email/password authentication

*Copy FCM authorization key and past it on fcmKey var in constants.dart file

*Create agora new project and general token, channel name for test purpose and past them with your appId on (agoraAppId-agoraTestChannelName-agoraTestToken) vars in constants.dart file

You might also like...

Building a simple Flutter app for understanding the BLoC State Management including: Cubit, Managing Route & showSnackBar.

Building a simple Flutter app for understanding the BLoC State Management including: Cubit, Managing Route & showSnackBar.

Dec 3, 2022

Flutter boilerplate: support Android, iOS, Web, Mac, Linux, Window with bloc(cubit) state management

Flutter boilerplate: support Android, iOS, Web, Mac, Linux, Window with bloc(cubit) state management, dynamic theme, localization, environment (.env), logger, navigation (go_router), responsiveness (mobile, tablet, desktop), lint, unit/widget/integration test and more ...

Dec 29, 2022

Flutter boilerplate: support Android, iOS, Web, Mac, Linux, Window with bloc(cubit)

Flutter boilerplate: support Android, iOS, Web, Mac, Linux, Window with bloc(cubit) state management, dynamic theme, localization, environment (.env), logger, navigation (go_router), responsiveness (mobile, tablet, desktop), lint, and unit/integration test.

Dec 29, 2022

Building a simple Flutter app * Switch Theme * for understanding the BLoC State Management including: Cubit Communications with StreamSubscription & Managing Route.

Building a simple Flutter app * Switch Theme * for understanding the BLoC State Management including: Cubit Communications with StreamSubscription & Managing Route.

Oct 3, 2022

๐Ÿ’ป Flutter clean architecture using the bloc & cubit library for state management

๐Ÿ’ป Flutter clean architecture using the bloc & cubit library for state management

Egymation ๐ŸŽฅ ยท This application was developed using a well-defined and decoupled architecture, following TDD (test-driven programming) as a working me

Nov 21, 2022

๐Ÿš€ User management app built in flutter using clean architecture, MVVM, get it, dio, RxDart, bloc, cubit, getX and provider

๐Ÿš€ User management app built in flutter using clean architecture, MVVM,  get it,  dio, RxDart, bloc, cubit, getX and provider

๐Ÿ”ฅ Go Rest app In this project, we are going to build a user management app using Flutter. We have used the Go REST API to make HTTP request methods.

Aug 14, 2023

Flutter plugin to simply integrate Agora Video Calling or Live Video Streaming to your app with just a few lines of code.

Agora UI Kit for Flutter Instantly integrate Agora video calling or video streaming into your Flutter application. Getting started Requirements An Ago

Dec 16, 2022

Agora - Highlight Active Speaker in a video call

Agora - Highlight Active Speaker in a video call

Highlight Active Speaker in a video call When a meeting or video chat is complet

Nov 23, 2022

A new video calling mobile application using Flutter, Agora SDK and GetX state management.

A new video calling mobile application using Flutter, Agora SDK and GetX state management.

LiveBox : A Video Calling App A new video calling mobile application using Flutter, Agora SDK and GetX state management. Features Login Registration F

Dec 3, 2022
Comments
  • Locked Device

    Locked Device

    Do you got it working with a locked device? I developed a similar app last year but I never got that working. Please get back to me if you did! Nice work btw! ๐Ÿ˜Š

    opened by JonasGrunau 1
Owner
Youssef Elshiaty
Android Native, Flutter Developer
Youssef Elshiaty
Flutter bloc cubit test knowdge - Flutter bloc cubit test knowdge

Flutter Bloc Simple Api This project is using weather api for featch data and di

Waruna Kaushalya 0 Jan 3, 2022
Build an example app for receiving notification from Firebase Cloud Messaging (FCM)

notify Build an app demo for receiving notifications from Firebase Cloud Messaging. Check more information: https://firebase.google.com/docs/cloud-mes

TAD 3 Dec 9, 2022
Flutter web example with Firebase Authentication, Firestore Collection, BloC Pattern

flutter_auth_web Flutter Firebase auth. Getting Started This project is a starting point for a Flutter application. A few resources to get you started

null 1 Feb 26, 2022
Flutter bloc example - An app for State management using BLoC pattern in Flutter

Flutter BLoC My first app for State management using BLoC pattern in Flutter Col

Harshil Patel 1 Jun 16, 2022
The prime objective of this app is to store the real time information of the user using firebase cloud firestore and also can delete, remove and update the customer information

crud_firestore A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started i

Muhammad Zakariya 0 Mar 15, 2022
Notey - A noteApp build using flutter with firebase cloud firestore

notey A project to create and store notes for later purposes. Notey is built usi

Al-amin O. 1 Aug 14, 2022
Nimbostratus is a reactive data-fetching and client-side cache management library built on top of Cloud Firestore.

Nimbostratus ?? Nimbostratus is a reactive data-fetching and client-side cache management library built on top of Cloud Firestore. The Cloud Firestore

Dan Reynolds 13 Dec 15, 2022
House Record manager application, cloud firestore will manage the data

house_record A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if

kyle reginaldo 3 Aug 29, 2022
Flutter Viral News App using : Flutter + Rest Api + Bloc / Cubit

Intro Viral News App on Flutter. The tech used: Flutter widgets + Flutter Bloc / Cubit + Rest Api Check the screenshot : P.S Make sure to upgrade your

Ihab Zaidi 8 Nov 2, 2022
sample project for bloc & cubit

bloc & cubit sample Sample project for bloc & cubit Getting Started This project is a starting point for a Flutter application. A few resources to get

null 0 Dec 29, 2021