Système de gestion des retours utilisateurs

Documentation complète du système Feedback Hub permettant de collecter, organiser et gérer les retours des utilisateurs avec des fonctionnalités de feedback, sondages et roadmap.

Aperçu du système

Système complet de gestion des retours utilisateurs avec feedback, votes, commentaires, sondages et roadmap.

  • • Gestion des feedbacks
  • • Système de votes
  • • Commentaires
  • • Sondages
  • • Roadmap publique

Gestion des feedbacks

Collecte et organisation des retours utilisateurs avec types, priorités et statuts.

  • • Types : Bug, Fonctionnalité, Idée, Autre
  • • Priorités : Basse, Moyenne, Haute, Urgente
  • • Statuts : Ouvert, En examen, Planifié, En cours, Terminé, Rejeté
  • • Tags et métadonnées

Système de sondages

Création et gestion de sondages avec questions multiples, options et visibilité des résultats.

  • • Questions multiples
  • • Dates de début/fin
  • • Visibilité des résultats
  • • Suivi des votes

Roadmap publique

Affichage public des fonctionnalités planifiées et en cours de développement.

  • • Statuts : Planifié, En cours, Terminé, Annulé
  • • Priorités
  • • Dates de planification
  • • Visibilité publique

Système de notifications

Notifications automatiques pour les événements importants du Feedback Hub.

  • • Commentaires sur feedbacks
  • • Changements de statut
  • • Nouveaux sondages
  • • Mises à jour roadmap

Architecture

Structure modulaire avec Actions, Queries, Events, Listeners et Policies.

  • • Pattern Action
  • • Pattern Query
  • • Events & Listeners
  • • Policies d'autorisation

Détails techniques

Modèles principaux

  • Feedback – Retours utilisateurs avec type, priorité, statut, tags et métadonnées
  • FeedbackComment – Commentaires sur les feedbacks
  • FeedbackVote – Votes des utilisateurs sur les feedbacks
  • Poll – Sondages avec dates de début/fin et visibilité des résultats
  • PollQuestion – Questions des sondages
  • PollOption – Options de réponse aux questions
  • PollVote – Votes des utilisateurs sur les sondages
  • RoadmapItem – Éléments de la roadmap avec statut, priorité et dates
  • Notification – Notifications pour les événements du Feedback Hub

Énumérations

FeedbackType

  • BUG – Signalement de bug
  • FEATURE – Demande de fonctionnalité
  • IDEA – Idée d'amélioration
  • OTHER – Autre type de retour

FeedbackStatus

  • OPEN – Ouvert
  • UNDER_REVIEW – En cours d'examen
  • PLANNED – Planifié
  • IN_PROGRESS – En cours
  • DONE – Terminé
  • REJECTED – Rejeté

FeedbackPriority

  • LOW – Basse
  • MEDIUM – Moyenne
  • HIGH – Haute
  • URGENT – Urgente

RoadmapItemStatus

  • PLANNED – Planifié
  • IN_PROGRESS – En cours
  • COMPLETED – Terminé
  • CANCELLED – Annulé

PollResultsVisibility

  • PUBLIC – Résultats visibles immédiatement
  • AFTER_END – Résultats visibles après la fin
  • ADMIN_ONLY – Résultats visibles uniquement par les admins

Actions disponibles

  • CreateFeedbackAction – Créer un nouveau feedback
  • UpdateFeedbackStatusAction – Mettre à jour le statut d'un feedback
  • DeleteFeedbackAction – Supprimer un feedback
  • ToggleFeedbackVoteAction – Voter ou retirer son vote
  • CreateFeedbackCommentAction – Ajouter un commentaire
  • UpdateFeedbackCommentAction – Modifier un commentaire
  • DeleteFeedbackCommentAction – Supprimer un commentaire
  • CreatePollAction – Créer un sondage
  • UpdatePollAction – Mettre à jour un sondage
  • ClosePollAction – Fermer un sondage
  • SubmitPollVoteAction – Soumettre un vote sur un sondage
  • CreateRoadmapItemAction – Créer un élément de roadmap
  • UpdateRoadmapItemAction – Mettre à jour un élément de roadmap
  • CreateNotificationAction – Créer une notification
  • MarkNotificationAsReadAction – Marquer une notification comme lue
  • MarkAllNotificationsAsReadAction – Marquer toutes les notifications comme lues

Queries disponibles

  • GetFeedbackListQuery – Récupérer la liste des feedbacks avec filtres
  • GetFeedbackDetailQuery – Récupérer les détails d'un feedback
  • GetActivePollsQuery – Récupérer les sondages actifs
  • GetPublicRoadmapQuery – Récupérer la roadmap publique
  • GetUserNotificationsQuery – Récupérer les notifications d'un utilisateur

Événements et écouteurs

Événements

  • FeedbackCreated – Émis lors de la création d'un feedback
  • FeedbackStatusChanged – Émis lors du changement de statut
  • FeedbackCommentCreated – Émis lors de l'ajout d'un commentaire
  • PollCreated – Émis lors de la création d'un sondage
  • PollVoteSubmitted – Émis lors d'un vote sur un sondage
  • RoadmapItemCreated – Émis lors de la création d'un élément de roadmap
  • RoadmapItemStatusChanged – Émis lors du changement de statut d'un élément

Écouteurs

  • SendCommentNotification – Envoie une notification lors d'un nouveau commentaire
  • SendFeedbackStatusNotification – Envoie une notification lors d'un changement de statut
  • SendPollCreatedNotification – Envoie une notification lors de la création d'un sondage
  • SendRoadmapItemNotification – Envoie une notification lors d'une mise à jour de roadmap

Policies d'autorisation

  • FeedbackPolicy – Autorisations pour les feedbacks
  • FeedbackCommentPolicy – Autorisations pour les commentaires
  • PollPolicy – Autorisations pour les sondages
  • RoadmapItemPolicy – Autorisations pour les éléments de roadmap
  • NotificationPolicy – Autorisations pour les notifications

Exemples d'utilisation

Créer un feedback :

Utilisation de l'action :

use App\Specifics\FeedbackHub\Actions\CreateFeedbackAction;

$feedback = CreateFeedbackAction::execute([
    'user_id' => auth()->id(),
    'type' => FeedbackType::FEATURE,
    'title' => 'Nouvelle fonctionnalité',
    'description' => 'Description détaillée...',
    'priority' => FeedbackPriority::HIGH,
    'status' => FeedbackStatus::OPEN,
]);

Récupérer la liste des feedbacks :

use App\Specifics\FeedbackHub\Queries\GetFeedbackListQuery;

$feedbacks = GetFeedbackListQuery::execute([
    'type' => FeedbackType::FEATURE,
    'status' => FeedbackStatus::OPEN,
]);

Voter sur un feedback :

use App\Specifics\FeedbackHub\Actions\ToggleFeedbackVoteAction;

ToggleFeedbackVoteAction::execute($feedback, auth()->user());

Prêt à utiliser le Feedback Hub ?

Le système Feedback Hub est entièrement fonctionnel et prêt à être intégré dans votre application. Utilisez les Actions et Queries pour interagir avec le système.

Prendre rendez-vous