Facebook Twitter Instagram
    DeepCrazyWorld
    Facebook Twitter Instagram Pinterest YouTube
    • FLUTTER
      • FLUTTER APP
        • QRCode
        • Quiz App
        • Chat GPT
        • PDF App
        • News App
        • Fitness App
        • Weather App
        • BMI Calculator
        • GAME APP
        • Ecommerce App
        • wallpaper App
        • Finance app
        • Chat App
        • Wallet App
        • Taxi App
        • Quran app
        • Music player app
      • FLUTTER UI
        • Splash Screen
        • Onboarding Screen
        • Login Screen
        • Card Design
        • Drawer
    • PROJECT
      • Android Projects
      • College Projects
      • FLUTTER APP
      • Project Ideas
      • PHP Projects
      • Python Projects
    • SOURCE CODE
    • ANDROID
      • ANDROID APP
      • GAME APP
      • ANDROID STUDIO
    • MCQ
      • AKTU MCQ
        • RPA MCQ
        • COA MCQ
        • HPC MCQ
        • SPM MCQ
        • Renewable Energy All MCQ
        • Data Compression MCQ
        • Data Structure MCQ
        • Digital Image Processing MCQ
        • Software Engineering MCQ
        • Machine Learning MCQ
        • Artificial Intelligence MCQ
      • D PHARMA MCQ
        • Pharmaceutics – I MCQ
        • Pharmacognosy MCQ
        • Pharmaceutical Chemistry MCQ
        • Biochemistry and Clinical Pathology MCQ
        • Human Anatomy and Physiology MCQ
        • Heath Education and Community Pharmacy MCQ
    • INTERVIEW QUESTIONS
      • Flutter Interview Questions
      • INTERVIEW QUESTIONS
      • Python Interview Questions
      • Coding ninjas solution
    • MORE
      • WORDPRESS
        • SEO
        • TOP 10 WORDPRESS THEME
      • PRODUCTIVITY
      • Program
      • QUOTES
    DeepCrazyWorld
    Home»Chat App»Group Chat App with Firebase that supports video calls with flutter
    Chat App

    Group Chat App with Firebase that supports video calls with flutter

    DeepikaBy DeepikaNovember 30, 2023Updated:November 30, 2023No Comments5 Mins Read

    Group Chat App with Firebase that supports video calls with flutter

    Table of Contents

    Toggle
    • Flutter Group Chat App with Firebase
    • 🎥 Click here to open the video
    • Getting Started
      • Step 1:
      • Step 2: Push notifications (optional)
        • iOS
        • Web
      • Step 3: Video Calls (optional)
        • Supported platforms
      • Step 4: Deploying
    • Getting in touch
    • License
    • Contacting me
      • Resources Used:
    • Get Full Source Code
    • Conclusion
        • Related Articles:
      • READ MORE

    Flutter Group Chat App with Firebase

    A complete Flutter Group Chat App with Firebase that supports video calls. It handles typing, received and read indicators, Group Management, closed app and opened app notifications, security, account creation, login, mutex for generating the numeric Agora UID and more.

    <img decoding=
    Group Chat App with Firebase
    • Firebase Cloud Messaging (FCM) is used to send push notifications when the user sends a new message or joins a video call.
    • Firebase Cloud Functions: The backend that handles the Agora token request so the user can join the call. It also runs triggers when a Firestore document changes, like sending push notifications when a new message is created.
    • Video Calls are handled with Agora, the package agora_rtc_engine is used to handle video calls, agora_uikit is used for the video call screen layout.
    • Firestore Security Rules: firestore.rules file contains rules like: only admins can add users to the group, users can only see public data of other users, etc.
    • Firestore Indexes: firestore.indexes.json file contains the Firestore indexes.

    🎥 Click here to open the video

    AndroidiOSWeb
    Video Calls✅✅❌
    All other features✅✅✅

    Getting Started

    Step 1:

    To get started, open the terminal in the flutter_app folder.

    Go to your Firebase project > Click on the Engine ⚙️ button right to “Project Overview” > Copy your Project ID Follow the instructions of Add Firebase to your Flutter app and run these two commands inside the flutter_app folder, replace paste-your-project-id-here with your own Project ID.

    dart pub global activate flutterfire_cli
    flutterfire configure --project=paste-your-project-id-here
    

    Go to your Firebase Console > Build > Authentication > Get Started > Sign-in method > Email/Password and enable Email/Password and save it.

    Go to your Firebase Console > Build > Firestore Database > Create database. You can choose any option (Start in production mode or Start in test mode), it’s not important because we will update the security rules in the following steps.

    Step 2: Push notifications (optional)

    iOS and Web platforms require additional configuration for Firebase Cloud Messaging (FCM), so you can show push notifications when a user receives a new text message.

    iOS

    Follow these instructions on iOS.

    Web

    A vapidKey is required for web.

    1. Get your vapidKey on the Firebase Console, you can check the instructions here.
    2. Go to the file flutter_app/lib/core/domain/services/notifications_service.dart
    3. Replace the value of _vapidKeyForWeb with your own vapidKey

    Set the environment on the web/environment file:

    1. Copy the values from web field in the flutter_app/lib/firebase_options.dart file
    2. Paste the values in the flutter_app/web/environment.js file

    Step 3: Video Calls (optional)

    Supported platforms

    1. Create your Agora account, go to the projects page and click on “Create a Project”
    2. Under “Authentication” choose the Secured mode: APP ID + Token (Recommended) option
    3. Copy the App ID value and save in your notepad so that we can use later
    4. Click on “Configure”
    5. On “App Certificate”, copy the Primary Certificate value as well
    6. Go to functions/environment.ts and set the Agora App ID and App Certificate.
    7. Go to flutter_app/lib/environment.dart and set only the Agora App ID there.

    ⚠️ Do not expose your App Certificate

    Step 4: Deploying

    • Run npm install -g firebase-tools to install the Firebase CLI
    • Run firebase use --add and select your Firebase project, add any alias you prefer
    • Optional: In case you prefer not deploying to web, go to firebase.json file and remove the hosting object
    • And finally, run firebase deploy, so the firestore security rules will be updated, cloud functions and indexes will be created.

    Getting in touch

    Feel free to open a GitHub issue about:

    • ❔ questions
    • 💡 suggestions
    • 🐜 potential bugs

    License

    MIT

    Contacting me

    📧 rodrigo@wisetap.com

    Resources Used:

    • YouTube
    • Dart & Flutter Packages

    You can check out the entire code of this App here:

    Get Full Source Code

    View Github

    download source code

    Conclusion

    This was all about a quick go through the basic flutter App UI Screen. If you need any assistance regarding flutter app development, you can consult a flutter developer from FlutterDesk. We would love to be of help. Still, if you feel any difficult while dealing with Flutter app development projects, you can reach out to us or hire Flutter developers to outsource any of your app development project.

    Do like & share my Facebook page. if you find this post helpful. Thank you!!

    Happy coding! 😉

    Related Articles:

    • How to Install Flutter in windows 10
    • Quiz App using flutter with source code
    • Flutter music app Search all audio files in android phone
    • Flutter NEWS App with REST APIs source code
    • Chat GPT Voice Chatbot App with Flutter source code
    • Make News and Weather App using flutter
    • A Book library App with Flutter source code
    • A Flutter MCQ quiz app with firebase google login
    • Message Chat App with Firebase using flutter
    • Flutter BottomNavigationBar Example UI with source code
    • A Messenger App UI using Flutter source code
    • A Responsive flutter onboarding UI screen
    • A Flutter simple social media app UI source code
    • A Flutter Air Ticket Booking UI source code
    • Pulse animation for Flutter with source code
    • Flutter Ecommerce App built with bloc state management

    READ MORE

    Share. Facebook Twitter LinkedIn WhatsApp Telegram Pinterest Reddit Email
    Previous ArticleFlutter Animated collapsible app drawer with source code
    Next Article Flutter Ecommerce App built clean architecture & bloc state management

    Related Posts

    Animated Backgrounds in Flutter: A Complete Guide

    FLUTTER 4 Mins Read

    How to Create Music Player UI screen with fully functional in flutter

    FLUTTER APP 3 Mins Read

    How to make ListView Builder Ui in flutter with Source Code

    FLUTTER UI 5 Mins Read

    How to create TabBar view in flutter with source code step wise

    FLUTTER UI 5 Mins Read

    Leave A Reply Cancel Reply

    Recent Posts
    • Implementing a Dynamic FAQ Screen UI in Flutter Using ExpansionTile March 29, 2025
    • Creating an Instruction UI Screen in Flutter Application March 29, 2025
    • Animated Backgrounds in Flutter: A Complete Guide March 15, 2025
    • How to make Diary App using flutter stepwise using getx August 31, 2024
    • How to Create Music Player UI screen with fully functional in flutter August 30, 2024
    • How to make ListView Builder Ui in flutter with Source Code August 29, 2024
    • Create a TabBar View in flutter with fully functional stepwise August 28, 2024
    • How to create TabBar view in flutter with source code step wise August 27, 2024
    • How to make Heart rate measure app with Flutter stepwise August 26, 2024
    • How to make ChatGpt App in flutter with source code Stepwise August 25, 2024
    Facebook Twitter Instagram Pinterest YouTube
    • About
    • Contact
    • Disclaimer
    • Privacy Policy
    Copyright by DeepCrazyWorld © 2025

    Type above and press Enter to search. Press Esc to cancel.