Files
geo/app/lib/chat
d6soft f3f1a9c5e8 Fix: Hive sync et update entité via API REST
- Correction mapping JSON membres (fk_role, chk_active)
- Ajout traitement amicale au login
- Fix callback onSubmit pour sync Hive après update API
2025-06-09 18:46:49 +02:00
..

Module Chat GEOSECTOR

Structure du module

Le module chat est organisé selon une architecture modulaire respectant la séparation des préoccupations :

lib/chat/
├── models/                 # Modèles de données
│   ├── conversation_model.dart
│   ├── message_model.dart
│   ├── participant_model.dart
│   └── audience_target_model.dart
├── repositories/          # Gestion des données
│   └── chat_repository.dart
├── services/              # Services techniques
│   ├── chat_api_service.dart
│   └── offline_queue_service.dart
├── widgets/               # Composants UI
│   ├── chat_screen.dart
│   ├── conversations_list.dart
│   ├── message_bubble.dart
│   └── chat_input.dart
├── pages/                 # Pages de l'application
│   └── chat_page.dart
├── chat.dart             # Point d'entrée avec exports
└── README.md             # Documentation du module

Fonctionnalités principales

  1. Conversations : Support des conversations one-to-one, groupes et annonces
  2. Messages : Envoi/réception de messages texte et pièces jointes
  3. Participants : Gestion des participants aux conversations
  4. Annonces : Diffusion de messages à des groupes spécifiques
  5. Mode hors ligne : File d'attente pour la synchronisation des données

Utilisation

Importation

import 'package:geosector/chat/chat.dart';

Affichage de la page chat

Navigator.push(
  context,
  MaterialPageRoute(builder: (context) => const ChatPage()),
);

Création d'une conversation

final chatRepository = ChatRepository();
final conversation = await chatRepository.createConversation({
  'type': 'one_to_one',
  'participants': [userId1, userId2],
});

États d'implémentation

  • Structure de base
  • Modèles de données complets
  • Intégration avec Hive
  • Services API
  • Gestion hors ligne
  • Widgets visuels
  • Tests unitaires

À faire

  1. Compléter l'implémentation des modèles avec les adaptateurs Hive
  2. Implémenter les méthodes dans les services et repositories
  3. Créer les widgets visuels avec le design approprié
  4. Ajouter les adaptateurs Hive pour le stockage local
  5. Implémenter la gestion des pièces jointes
  6. Ajouter les tests unitaires