⬇️ Download APK • 🐛 Report Bug • ✨ Request Feature
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.
- Email/Password and Google Sign-In
- Secure user registration and login
- Send and receive text messages in real time
- Share images within chats
- Delete messages — admins manage all, users manage their own
- Add contacts via authenticated email addresses
- Blocklist unwanted contacts for enhanced privacy
- 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
- Share images effortlessly in chats and groups
- Update and manage your profile picture and info
| Platform | Download |
|---|---|
| Android (APK) | ⬇️ Download APK |
ℹ️ Enable "Install from Unknown Sources" in Android settings before installing.
All releases → GitHub Releases
- Flutter — Cross-platform UI framework
- Firebase Auth — Email & Google authentication
- Cloud Firestore — Real-time database & messaging
- Firebase Storage — Image & media storage
- Google Sign-In — OAuth via Google
- Image Picker — Camera & gallery access
- Flutter SDK (3.x or higher)
- Android Studio or VS Code
- Android device or emulator (API 21+)
- Firebase Project (free)
Check your Flutter setup:
flutter doctor1. Clone the repository
git clone https://github.com/Umair-Habibx123/FireStream
cd FireStream2. Install dependencies
flutter pub get3. 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>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
# Debug build (for testing)
flutter build apk --debug
# Release build (for distribution)
flutter build apk --releaseOutput:
build/app/outputs/flutter-apk/app-release.apk
| 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 |
Contributions are welcome!
- Fork the repository
- Create a feature branch
git checkout -b feature/AmazingFeature- Commit your changes
git commit -m "Add AmazingFeature"- Push to the branch
git push origin feature/AmazingFeature- Open a Pull Request
Found a bug or have a suggestion? Open an issue
This project is open-source under the MIT License. See the LICENSE file for details.
- 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!