Gestion des feedbacks - Documentation techniques
Base de données
Ce système utilise Firebase Firestore pour stocker les avis utilisateurs.
Les données sont structurées de la manière suivante :
- Collection : feedback
- Document ID : UUID généré automatiquement
- Champs :
- note: La note sur 5
- positif: La description détaillée de ce qu'ils aiment
- ameliorations: La description détaillée de ce qu'ils aimerait améliorer
- email: L'email de l'utilisateur (optionnel)
- uid: L'ID utilisateur (si connecté)
- platform: La plateforme (Android/iOS)
- device_model: Le modèle de l'appareil
- device_version: La version du système d'exploitation
- app_version: La version de l'application
- status: Le statut du feedback (open, in_progress, resolved)
- createdAt: La date de création
- updatedAt: La date de mise à jour
Architecture technique
Gestion des données
La gestion des données est réalisée via le processus suivant :
- lib/mappers/feedback_mapper.dart : représentation d'un document ID avec interface Firebase
- lib/models/feedback.dart : modèle métier pour les avis utilisateurs
- lib/services/feedback_service.dart : service pour gérer les opérations CRUD sur les avis utilisateurs
- lib/providers/feedback_provider.dart : provider pour gérer l'état des avis utilisateurs. C'est le point d'entrée et d'interface entre les écrans et la base de données
NB: Pour comprendre la gestion, se reporter au document ARCHITECTURE_DATABASE.md
Interfaces utilisateurs
Bouton Donner mon avis
Code du bouton : feedback_button.dart
- Bouton accessible à plusieurs endroits
- Accessible à tous les utilisateurs
- Ouvre l'écran
Donner mon avis
Écran Donner mon avis
Code de l'écran : feedback_screen.dart
- Formulaire de signalement de feedbacks
- Accessible à tous les utilisateurs connectés
- Ajout de données dans la base de données
feedbacksvia lefeedback_provider - Règles Firebase : autorisations nécessaires en création pour tous utilisateurs connectés
Écran Feedbacks
Code de l'écran : feedback_admin_screen.dart
- Écran d'administration des avis utilisateurs
- Accessible aux Administrateurs
- Lecture et modification de données dans la base de données
feedbacksvia lefeedback_provider - Règles Firebase : autorisations nécessaires en lecture, modification et suppression pour les Admins