A modern, feature-rich messaging application built with Flutter that provides secure and real-time communication capabilities.
- Real-time messaging with instant message delivery
- Video and voice calls with high-quality audio/video
- End-to-end encryption for secure communications
- Push notifications for messages and calls
- Multi-device support
- Dark and light theme support
- Read receipts
- Typing indicators
- Online status visibility
- Message request controls
- Screen lock protection
- Private account options
- Sealed sender support
- Customizable chat colors and wallpapers
- Link preview generation
- Contact photo integration
- Message archiving
- Data usage controls for media
- Notification customization
- Multi-language support
- Account management
- Appearance customization
- Notification preferences
- Privacy controls
- Data usage management
- Help and support
- Friend invitation system
- Framework: Flutter
- State Management: Flutter Riverpod
- Backend Services: Firebase
- Firebase Messaging for push notifications
- Firebase Analytics for usage tracking
- Local Storage: Hive
- Real-time Communication: WebSocket
- Video/Audio Calls: WebRTC
- Network: Connectivity Plus for network status monitoring
- Flutter SDK (latest stable version)
- Dart SDK
- Android Studio / Xcode for mobile development
- Firebase project setup
- Clone the repository:
git clone https://github.com/anhkhoakz/messaging-app.git # Clone using the web URL
cd messaging-app
- Install dependencies:
flutter pub get
-
Configure Firebase:
- Add your
google-services.json
(Android) andGoogleService-Info.plist
(iOS) files - Update Firebase configuration in
lib/core/constants/firebase_options.dart
- Add your
-
Run the app:
flutter run
The app supports multiple environments:
- Development:
flutter run --flavor development
- Staging:
flutter run --flavor staging
- Production:
flutter run --flavor production
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.
- Flutter team for the amazing framework
- Firebase for backend services
- All contributors who have helped shape this project