GitHunt
SI

Siddiqui145/we_chat

We Chat is a real-time chat application built using Flutter and Dart, designed for smooth and secure communication between users. It features Firebase Authentication for login/signup, stores user data in Cloud Firestore, and uses Firebase Cloud Messaging for instant push notifications. With a clean and responsive UI, it delivers a seamless experien

๐Ÿ“ฑ We Chat

A real-time Flutter chat app built using Flutter & Dart, with Firebase Authentication, Cloud Firestore, and Firebase Cloud Messaging. Designed with a clean and beautiful UI for a seamless user experience. Users can sign up, sign in, and send messages to each other instantly!


โœจ Features

  • ๐Ÿ”’ User Authentication

    • Sign up & log in using email and password via Firebase Auth
    • Securely store user profile info: username, email, and profile image
  • ๐Ÿ’ฌ Real-Time Messaging

    • Send and receive messages instantly using Cloud Firestore
    • Automatically scroll to new messages
  • ๐Ÿ”” Push Notifications

    • Firebase Cloud Messaging with topic-based subscription (chat topic)
    • Notifications sent to users when new messages arrive
  • ๐ŸŒ Firestore Data Storage

    • User data and messages are stored and retrieved in real-time from Cloud Firestore
  • ๐ŸŽจ Beautiful UI

    • Smooth animations
    • Clean layout
    • Optimized for a great user experience

๐Ÿ› ๏ธ Tech Stack

  • Flutter & Dart
  • Firebase Auth
  • Cloud Firestore
  • Firebase Cloud Messaging

๐Ÿš€ Getting Started

Prerequisites

  • Flutter SDK installed
  • Firebase project created
  • Android/iOS setup done (with google-services.json or GoogleService-Info.plist added)

Setup Instructions

git clone https://github.com/Siddiqui145/we_chat.git
cd we_chat
flutter pub get
  • Set up Firebase for Android and iOS
  • Enable Firebase Authentication (Email/Password)
  • Create Firestore database
  • Enable Firebase Cloud Messaging
  • Update Firebase config files in your project

๐Ÿ” Firebase Configuration

Make sure to:

  • Add Firebase to your Flutter project
  • Configure FCM topic subscription logic
  • Enable necessary permissions in AndroidManifest.xml and Info.plist

๐Ÿ“‚ Project Structure

lib/
โ”œโ”€โ”€ main.dart
โ”œโ”€โ”€ screens/
โ”‚   โ”œโ”€โ”€ login_screen.dart
โ”‚   โ”œโ”€โ”€ chat_screen.dart
โ”‚   โ””โ”€โ”€ signup_screen.dart
โ”œโ”€โ”€ widgets/
โ”‚   โ”œโ”€โ”€ message_bubble.dart
โ”‚   โ””โ”€โ”€ user_image_picker.dart
โ”œโ”€โ”€ services/
โ”‚   โ”œโ”€โ”€ auth_service.dart
โ”‚   โ”œโ”€โ”€ firestore_service.dart
โ”‚   โ””โ”€โ”€ notification_service.dart

โœ… To-Do

  • User authentication
  • Real-time messaging
  • Push notifications
  • Store user data in Firestore
  • Beautiful UI

๐Ÿ“ฌ Feedback

Feel free to open issues or submit pull requests! Feedback is always welcome to make We Chat better.


๐Ÿ“„ License

This project is open source under the MIT License.