Skip to content

Repository files navigation

🔥 FireStream Chat App

Real-time messaging powered by Flutter & Firebase

Flutter Dart Firebase Android License

⬇️ Download APK • 🐛 Report Bug • ✨ Request Feature


📖 About

FireStream is a powerful, feature-rich Flutter chat application that simplifies real-time communication. It leverages Firebase for seamless authentication, messaging, and group management — offering a full-featured chat experience on Android.


✨ Features

🔐 Authentication

  • Email/Password and Google Sign-In
  • Secure user registration and login

💬 Chats

  • Send and receive text messages in real time
  • Share images within chats
  • Delete messages — admins manage all, users manage their own

👥 Contacts Management

  • Add contacts via authenticated email addresses
  • Blocklist unwanted contacts for enhanced privacy

🏘️ Group Chats

  • Create groups and add/remove participants by email
  • Admin controls for permissions and group configuration
  • View group members and message individuals directly
  • Add single contacts or bulk contact lists to groups

🖼️ Media & Profile

  • Share images effortlessly in chats and groups
  • Update and manage your profile picture and info

📲 Download

Platform Download
Android (APK) ⬇️ Download APK

ℹ️ Enable "Install from Unknown Sources" in Android settings before installing.

All releases → GitHub Releases


🛠️ Built With


🚀 Getting Started

Prerequisites

Check your Flutter setup:

flutter doctor

Installation

1. Clone the repository

git clone https://github.com/Umair-Habibx123/FireStream
cd FireStream

2. Install dependencies

flutter pub get

3. Set up Firebase

  • Go to Firebase Console and create a new project
  • Enable Authentication (Email/Password + Google)
  • Enable Cloud Firestore
  • Enable Firebase Storage
  • Download config files and place them:
android/app/google-services.json       ← Android config
firebase.json                          ← root directory

4. Run the app

# Check connected devices
flutter devices

# Run on your device
flutter run -d <device_id>

📁 Project Structure

FireStream/
├── lib/
│   ├── main.dart                      # App entry point
│   ├── screens/
│   │   ├── loginScreen.dart           # Login & registration
│   │   ├── homeScreen.dart            # Chat list / home
│   │   ├── chatScreen.dart            # One-on-one chat
│   │   └── groupChatScreen.dart       # Group chat screen
│   ├── widgets/                       # Reusable UI components
│   ├── services/                      # Firebase & auth logic
│   └── models/                        # Data models
├── android/
│   └── app/
│       └── google-services.json       # Firebase Android config
├── firebase.json                      # Firebase project config
├── assets/                            # Images, fonts, etc.
└── pubspec.yaml                       # Dependencies & metadata

📦 Build APK

# Debug build (for testing)
flutter build apk --debug

# Release build (for distribution)
flutter build apk --release

Output:

build/app/outputs/flutter-apk/app-release.apk

📱 Usage Guide

Feature How To
Sign In Login with email/password or tap Google Sign-In
New Chat Go to Contacts → tap a contact to start chatting
Send Image Tap the 📎 icon inside any chat
Create Group Groups tab → tap ➕ → add participants by email
Manage Group Open group → tap Group Info → admin controls
Block Contact Contacts → long press → Block
Edit Profile Tap your avatar → Edit Profile

🤝 Contributing

Contributions are welcome!

  1. Fork the repository
  2. Create a feature branch
git checkout -b feature/AmazingFeature
  1. Commit your changes
git commit -m "Add AmazingFeature"
  1. Push to the branch
git push origin feature/AmazingFeature
  1. Open a Pull Request

🐛 Issues

Found a bug or have a suggestion? Open an issue


📄 License

This project is open-source under the MIT License. See the LICENSE file for details.


🙏 Acknowledgments

  • Firebase — For real-time backend infrastructure
  • Flutter — For the amazing cross-platform framework
  • Community contributors and supporters

Made with ❤️ using Flutter & Firebase

⭐ Star this repo if you found it helpful!

```

About

FireStream Chat App is a feature-rich Flutter app enabling seamless group chats with Firebase integration. Includes real-time messaging, media sharing, and groups creation. Customize groups, view profiles, and manage chats effortlessly with a clean UI and robust functionality.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages