This application provides a seamless chat experience with support for voice and video calls, making communication easier and more interactive. Special thanks to core contributors Farhan Hasan and Nayem Ali.
- User Authentication: Sign up and log in securely.
- Chat Request: Decide who want to communicate by sending and recieving chat requests.
- Barcode Scanning: Easily send chat requests by scanning the barcode of your friends QR code.
- Real-time Chat: Send and receive messages, audio messages, images instantly.
- Voice Calls: Connect with friends, family, or colleagues via voice calls.
- Video Calls: Enable face-to-face communication using video calls.
- Call and Chat Notifications: Receive real-time notifications for calls and chats across foreground, background, and terminated app states, ensuring no missed updates.
- Stories: Share your day with uploading stories.
- Push Notifications: Get notified of incoming messages and calls.
- Profile Management: Manage user profiles.
- Theme Mode: Switch between Dark and Light mode.
- Dart as the source language
- Flutter for cross-platform application
- Firebase for Backend
- Agora SDK for Real-Time-Communication
- Python and FastAPI for Backend Services
- Codebase follows MVVM and Clean Architecture
- Routing management using GoRouter
- Local Databases used (Sembast, Shared Preferences)
- Deeplink implemented for chats and calls in Foreground, Background and Terminated state.
Coming soon...
Clone the repository:
git clone https://github.com/Sifat-16/enigma.git
cd enigma
Install dependencies: Make sure you have Flutter installed, then run:
flutter pub get
Run the App:
flutter run