messenger project by Léo TRAN, Loic AVIEZ, Thomas CALVETE RUFFIER
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.
- Real-time chat between users
- Message history
- Text translation using Google ML Kit
-
Push notifications: Integrate push notifications to notify users about new messages even when the app is not active or in the background.
-
Media sharing: Allow users to send and receive media files such as images, videos, and documents.
-
Audio messages: Enable users to send and receive voice messages.
-
End-to-end encryption: Implement end-to-end encryption to ensure privacy and security of messages exchanged between users.
-
Group chat: Implement the ability to create group chats, add/remove participants, and manage group settings.
-
Read receipts: Show when a message has been read by the recipient.
-
Typing indicators: Display when a user is typing a message in a conversation.
-
Message search: Allow users to search for messages within a conversation.
-
Dark mode: Add support for a dark theme to reduce eye strain in low-light environments.
-
User profiles: Allow users to set profile pictures, update their display names, and add a short bio.
-
Message reactions: Enable users to react to messages with emojis.
-
Message threads: Allow users to reply to specific messages, creating a thread for better context.
-
Cloud-based translation: Integrate a more accurate cloud-based translation API, such as Google Cloud Translation, for better translation results.
-
Offline mode: Implement offline support to allow users to send and receive messages when they are not connected to the internet. Messages should be synchronized when the user is back online.
-
User presence: Show when users were last online or their current online status.
-
Blocked users: Allow users to block and unblock other users, preventing them from sending messages or seeing their online status.