Files
geo/app/lib/chat/README.md
pierre 1018b86537 feat: Gestion des secteurs et migration v3.0.4+304
- Ajout système complet de gestion des secteurs avec contours géographiques
- Import des contours départementaux depuis GeoJSON
- API REST pour la gestion des secteurs (/api/sectors)
- Service de géolocalisation pour déterminer les secteurs
- Migration base de données avec tables x_departements_contours et sectors_adresses
- Interface Flutter pour visualisation et gestion des secteurs
- Ajout thème sombre dans l'application
- Corrections diverses et optimisations

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-07 11:01:45 +02:00

2.3 KiB
Executable File

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