Files
geo/app/lib/chat/README.md

2.3 KiB

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