Mobile chat application built with Flutter to provide real-time messaging.
Supports user authentication, contacts access, and responsive UI. Designed with Bloc + MVVM architecture for scalability and maintainability.
- Screenshots
- Features
- Tech Stack
- Architecture
- State Management
- Firebase Realtime Database
- Authentication
- Lifecycle & Permissions
- Performance
- License
Add your screenshots here:
![]() |
![]() |
![]() |
![]() |
![]() |
- 💬 Real-time Messaging – Send & receive messages instantly
- 🔐 Authentication – Login/Signup using Firebase Auth
- 📇 Contacts Access – Sync and find registered users from phone contacts
- 🏗 Clean Architecture – Bloc + MVVM for scalable code
- 🔄 Lifecycle Management – Proper handling of app foreground/background state
- ⚡ Optimized Performance – Smooth and responsive UI
- 📦 Offline Support – Cached messages with Firebase
- Flutter (Frontend)
- Dart (Programming Language)
- Firebase Realtime Database
- Firebase Authentication
- Bloc + MVVM (State Management & Architecture)
- Lifecycle & Permissions
- Contacts Access
This project uses Bloc + MVVM architecture:
- Separation of concerns
- Testable modules
- Scalable and maintainable
- Reactive state management with Bloc
- Bloc for UI & business logic
- MVVM pattern for separation of views & models
- Handles loading, error, and real-time updates
- Store and sync messages in real-time
- Handle user presence / online status
- Efficient read/write operations
- Sign up & login using Firebase Auth
- Secure password management
- Supports multiple devices
- Proper handling of app lifecycle (foreground/background)
- Request access to phone contacts securely
- Handle runtime permissions gracefully
- Efficient message caching
- Smooth scrolling for chat lists
- Optimized for low latency messaging
- Minimal memory usage
This project is licensed under the MIT License - see the LICENSE file for details.




