Skip to content

saqibcheema/NexTalk

Repository files navigation

Flutter Firebase Chat & Calling App

Flutter Firebase Dart

A premium, fully-featured real-time chat and calling application built with Flutter and Firebase. This application showcases modern UI/UX design (glassmorphism, dark mode, micro-animations) alongside complex backend integrations including real-time Firestore sync, Firebase Authentication, and background WebRTC call signaling via Firebase Cloud Messaging (FCM).


📚 Documentation Index

To help you understand the codebase, architecture, and how to run this project, we have created highly detailed documentation folders:

  1. Architecture & App Flows

    • View Mermaid diagrams of the Client-Serverless architecture.
    • Understand the state management approach (BLoC) and routing mechanisms.
    • Trace the exact sequence of events for Authentication, Chatting, and Voice Calling.
  2. Features Breakdown

    • Explore what the app can do: Direct Messaging, Background Call Waking, In-App Password Changes, Avatar Cropping/Compression, and more.
    • See exactly which Firebase services are responsible for which features.
  3. Firebase API & Schema

    • Understand the NoSQL structure of the users and chats collections.
    • Learn how the custom sendCallInvite Cloud Function operates to wake up sleeping devices.
    • Review a high-level summary of the Firebase Security Rules.
  4. Setup & Deployment Guide

    • Step-by-step instructions on cloning the repo, running flutterfire configure, and getting the app running locally.
    • Instructions for deploying the required Node.js Cloud Functions.

🚀 Quick Start

If you already have Flutter and Firebase configured on your machine, you can get started quickly:

# Clone the repository
git clone <your-repository-url>
cd Chat_App_Flutter

# Install dependencies
flutter pub get

# Connect your Firebase project
flutterfire configure

# Run the app
flutter run

Note: Make sure to read the Setup & Deployment Guide for instructions on deploying the necessary Cloud Functions for the Calling features to work!


🛠 Tech Stack Overview

  • UI Framework: Flutter
  • State Management: flutter_bloc
  • Routing: go_router
  • Backend Services: Firebase Authentication, Cloud Firestore, Cloud Storage, Cloud Functions, Firebase Cloud Messaging.
  • Calling/Signaling: Custom implementation using WebRTC and FCM Data Payloads.

About

A real-time messaging application built using Flutter and Firebase, featuring user authentication and instant chat capabilities.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors