The End-to-End Encrypted Messaging Mobile App is built using Flutter and Firebase.
The End-to-End Encrypted Messaging Mobile App using the AES algorithm is a messaging platform that offers users the highest level of security and privacy. The app uses advanced encryption algorithms to scramble messages before they leave the sender's device and then unscramble them on the recipient's device. In today's digital age, the security of our personal information and communication has become increasingly important. With the rise of cyber threats and data breaches, many people are looking for ways to keep their messages and conversations private. This is where end-to-end encryption comes in. End-to-end encryption (E2EE) is a security protocol that ensures that only the sender and recipient of a message can read its contents. This means that no one else, including the app provider or third-party hackers, can access the information.
The End-to-End Encrypted Messaging Mobile App using the AES algorithm provides users with peace of mind, knowing that their conversations are secure and private. With this app, individuals and businesses can communicate confidential information without worrying about it being intercepted or compromised.
This app offers a secure, easy-to-use platform for sending messages and other media files like photos and videos, making it an essential tool for those who value their privacy and security.
- Light/dark mode toggle
- Private and Secure
- End To End Encrypted using AES Algorithm
- Email Password Authentication
- Google Authentication
- Realtime Messaging
- Share Files, Images, Videos, etc..
- Delete your message for you or for everyone
- Realtime Notifications
- Add and Search users by username
- User Profile Management
Language: Dart
UI: Material UI
Firebase
- Firebase Authentication
- Firestore Database
- Storage
- Firebase Cloud Messaging
State Management: Provider
Other Components Used
- Shared Preferences
- Encrypt
- SQLite
- Local Notification
- And Many More..(Check
pubspec.yaml
for more)
- Download or clone project and open the project in VS Code
- Create Firebase Project
- Enable Email/Password Authentication
- Setup Firestore Database
- Setup Storage
- Set Firestore Rules
- You can use FlutterFire to create a firebase project easily
- Package encrypt is used in that project. See Documentation on pub.dev to know how to generate secret key. Put that secret key in lib/config/secret_data.dart file and also in .env file.
- make a .env file at root of the project and add following:
- SUPPORT_MAIL=<"Provide mail for support">
- DATABASE_NAME=<"DB name for local database">
- topicToSubscribe=<"Topic to Subscribe for Cloud Messaging">
- serverKey=<"Server key for firebase cloud messaging">
- ENCRYPT_KEY=<"Encryption Key for message">
- Run flutter get to download all dependencies
- Connect your Android phone or use the emulator to start the application
If you have any feedback, please reach out to me at pudasainiprabesh56@gmail.com
Give a ⭐️ if you like this project!
Contributions are always welcome!
This project is licensed under the MIT License. Feel free to use it as a starting point for your own projects!