Thanks to visit codestin.com
Credit goes to github.com

Skip to content

A high-performance real-time chat application built with Flutter and Firebase. Features a hybrid storage architecture using Hive for local caching, GetX for reactive state management, and seamless offline-to-online synchronization. ๐Ÿš€

Notifications You must be signed in to change notification settings

CodeWithKhan07/wechat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

WeChat Flutter

A high-performance, real-time messaging application built with Flutter, featuring a modern UI/UX inspired by WeChat and powered by a robust Firebase backend.


๐Ÿ“ธ App Screenshots

1. Onboarding & Security

Login Sign Up
Login Screen Sign Up Screen

2. Chat Interface

All Chats Active Conversation
All Chats Chat Screen

3. Exploration & Profile

Discover & Search User Profile
Discover Profile Screen

๐Ÿš€ Key Features

  • Authentication & User Management:
    • Secure Google Sign-In and Email/Password authentication.
    • Real-time user search with Recent Searches and Suggested People functionality.
    • Real-time presence tracking (Online/Last Seen status).
  • Advanced Messaging System:
    • Real-time Chat: Instant messaging powered by Firestore streams.
    • Media Support: Send/receive images and videos with automatic thumbnail generation.
    • Offline Support: Send messages while offline; they auto-sync once a connection is restored.
    • Message Management: WhatsApp-style "Delete for Me" and "Delete for Everyone" functionality.
    • Read Receipts: Real-time status indicators (Pending, Sent, Delivered, Read).
  • Push Notifications: * Instant alerts for new messages using **Firebase Cloud Messaging (FCM) **.
  • Performance & Sync:
    • Hybrid storage: Uses Hive for ultra-fast local caching and Firestore for cloud sync.
    • Seamless pagination and deduplication logic for smooth scrolling.

๐Ÿ›  Tech Stack

Layer Technology
Frontend Flutter (Dart)
State Management GetX (Reactive State & Dependency Injection)
Backend / Database Firebase (Firestore, Auth, Storage, FCM)
Local Database Hive (NoSQL local caching)
Environment Flutter Dotenv (Secure Config Management)
Media Handling Video Thumbnail, Cached Network Image

๐Ÿ“ฆ Installation & Setup

  1. Clone the Repository:

    git clone [https://github.com/yourusername/wechat_flutter.git](https://github.com/yourusername/wechat_flutter.git)
  2. Environment Variables: Create a .env file in the root directory and add your Client IDs:

    GOOGLE_CLIENT_ID=your_id_here
    GOOGLE_SERVER_CLIENT_ID=your_id_here
  3. Firebase Configuration:

    • Place google-services.json in android/app/.
    • Place GoogleService-Info.plist in ios/Runner/.
  4. Install Dependencies:

    flutter pub get
  5. Generate Local Database Adapters:

    flutter pub run build_runner build --delete-conflicting-outputs
  6. Run the Project:

    flutter run

About

A high-performance real-time chat application built with Flutter and Firebase. Features a hybrid storage architecture using Hive for local caching, GetX for reactive state management, and seamless offline-to-online synchronization. ๐Ÿš€

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages