Skip to content

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 feedbacks via le feedback_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 feedbacks via le feedback_provider
  • Règles Firebase : autorisations nécessaires en lecture, modification et suppression pour les Admins