Description du projet
TraduitTechniquement, nous attendons un transport WebSocket pour une livraison en direct avec une option de secours raisonnable et une reconnexion automatique en cas de perte de connexion. Les messages doivent être persistés dans la base de données afin que l'historique des chats se charge correctement lors de la réouverture d'une conversation, et la livraison doit être ordonnée et dédupliquée même sur des réseaux instables. Nous avons besoin d'un indicateur de saisie, de statuts 'livré' et 'lu' pour chaque message, de compteurs de messages non lus par chat, et de présence (en ligne, dernière vue). Les pièces jointes sont importantes : les utilisateurs doivent pouvoir envoyer des images et des documents avec des aperçus et des limites de taille sécurisées. Lorsque le destinataire est hors ligne ou que l'onglet est fermé, une notification push les alerte du nouveau message. Le backend doit s'appuyer sur nos comptes utilisateurs actuels et les autorisations d'accès plutôt que d'introduire un système d'authentification séparé.
Nous considérons la sécurité et la prévention des abus comme faisant partie de la tâche : connexions de socket authentifiées liées aux sessions actives, vérifications des autorisations (un utilisateur ne lit que les fils auxquels il participe), assainissement des entrées contre les XSS lors de l'affichage des messages, et limitation de débit de base contre le spam. Nous attendons un code propre et documenté dans notre pile actuelle, des instructions d'intégration brèves, et des tests pour les principaux scénarios.
— Chats privés et de groupe avec gestion des participants
— Livraison WebSocket avec reconnexion et option de secours hors ligne
— Indicateur de saisie, statuts de livraison/lus, compteurs de non lus, présence
— Pièces jointes d'images et de documents avec aperçus et limites de taille
— Notifications push pour les destinataires hors ligne
— Historique, ordonnancement, déduplication et persistance des messages
— Sockets liés aux sessions, vérifications des autorisations par fil, protection contre les XSS, limitation de débit