Make a Wish

Une application de gestion de vœux, et de leurs achats par d'autres utilisateurs

Download .zip Download .tar.gz View on GitHub

Introduction

Make A Wish est une tentative de création d'une plate-forme de gestion de voeu à usage privé. Un Proof Of Concept a déjà été développé, il est disponible sur GitHub mais est fonctionnement très incomplet.

Le but de ces pages est de résumé ce que devrait être le Make A Wish idéal. **Attention : ** ces pages comme le code GitHub correspondent un projet en cours.


Concepts

Vœux

Définition

Un vœu est caractérisé par :

  • Un nom
  • Une description simple
  • Un statut caractérisant sa visibilité par son propriétaire :
    • Totale : le vœu est uniquement présent dans la liste privée de l'utilisateur, ou dans des événements "ouverts". Aucune option d'achat ou déclaration d'achat n'a été émise sur ce vœu par un autre utilisateur. Son propriétaire peut le visualiser et le modifier à son gré.
    • Verrouillé : le vœu est présent dans au moins un événement verrouillé, et/ou il est présent dans un événement "ouvert" mais un autre utilisateur a émis une option d'achat ou une une déclaration d'achat. Le propriétaire du vœu ne peut plus modifier le vœu et ne dispose d'aucune information sur son statut.
  • Un statut caractérisant sa réservation par d'autres utilisateurs :
    • Libre : aucun autre utilisateur n'a décidé d'offrir ce veut
    • Réservé : un utilisateur a émis une "option d'achat" sur le vœu
    • Acheté : un utilisateur a confirmé l'achat du vœu
  • Un ensemble de Questions/Réponses entre le propriétaire du vœu et d'autres utilisateurs (pour affiner un vœu, par exemple). Visibles par tous les utilisateurs ayant accès au vœu.
  • Un ensemble de commentaires sur le vœu, entre les autres utilisateurs, pour permettre leur coordination. Invisibles au propriétaire du vœu.
  • {facultatif} L'appartenance à une gamme de prix
  • {facultatif} L'appartenance à une catégorie
  • {facultatif} Une collection d'URLs pointant vers des ressources distantes

Manipulation

Le titulaire d'un compte peut lister ses envies dans un endroit privé, invisible aux autres utilisateurs. Cela lui permet de saisir, modifier, revenir sur ses vœux de la façon dont il le souhaite, sans contraintes.

Evénements

Définition

Un événement est caractérisé par :

  • Un utilisateur créateur
  • Un nom
  • Une description simple
  • Une date butoir, marquant la fin de l’événement
  • Une liste de participants pouvant disposant éventuellement de droits :
    • Modifier l’événement
    • Modifier la liste des participants
    • Ajouter un vœu à l'événement
  • {facultatif} Une zone de verrouillage composée de :
    • Une date de début qui précède la date butoir de l'événement
    • Une date de fin postérieure ou égale à la date butoir de l'événement

Utilisation

Lorsqu'un utilisateur créé ou est ajouté à un événement, celui-ci apparaît dans sa liste d'événements. L’événement passe alors par plusieurs phases qui caractérisent l'accès aux vœux de l'utilisateur courant et des autres membres de l'événement.

Exemple : création d'un événement "Noël", prenant fin le 25 décembre, avec verrouillage du 1er au 31 décembre, dont tous les participants ont le droit d'ajouter des vœux.

Evénement "ouvert"

Tant que l’événement est ouvert, c'est à dire que la date courante est inférieure à la date butoir et à la date de verrouillage si elle existe, il peut alors y accéder et consulter la liste des participants et les vœux qui y ont été ajoutés (y compris les siens). Il peut ajouter ou retirer ses propres vœux à l'événement.

Exemple : avant le 1er décembre, tout les participants peuvent ajouter et enlever des vœux à l'événement.

Evénement verrouillé

Quand l'événement passe la date de verrouillage, il entre dans une phase spéciale pendant laquelle les utilisateurs peuvent uniquement y ajouter des vœux, mais pas les retirer. Lorsqu'ils consultent l'événement, ils ne voient pas leur propres vœux, ou alors séparément des autres, ou alors dans une mise-en-forme spéciale qui leur interdit de les consulter et ne leur donne aucune information sur leur potentiel achat.

Exemple : à partir du 1er décembre, "Noël" entre dans un verrouillage qui durera jusqu'au 31 décembre. Ainsi, même à la "fin" de l'événement le 25 décembre, le statut des "cadeaux" restera secret, afin de ne pas gâcher la surprise d'une réception après le 25 décembre. Pendant cette phase, il sera possible d'ajouter des vœux à l'événement mais ni d'en enlever, ni de modifier ceux qui y sont attachés. Un utilisateur ayant ajouté un vœu ne pourra pas en connaitre le statut de réservation (le préservant ainsi de découvrir quels cadeaux lui seront offerts), mais il pourra consulter les statuts des vœux des autres utilisateurs, poser des options d'achat ou valider des achats.

Evénement terminé

Un événement terminé est un événement qui a dépassé sa date de fin ET sa date de verrouillage si elle existe. L'événement est alors clôturé, c'est-à-dire qu'il n'est plus possible d'y ajouter un vœu. Les vœux qui y étaient présents rejoignent la liste privée de chacun des membres. L’événement n'est plus visible dans la liste des événements des utilisateurs en ayant fait partie.

Exemple : à compter du 1er janvier, les vœux seront à nouveau visibles par les utilisateurs et rejoindront à nouveau leur liste privée. Ils pourront ainsi voir les éléments achetés par les autres utilisateurs, ou en option d'achat... mais cela ne devrait pas être un problème. L’événement terminant le 25 décembre, on peut supposer que les cadeaux auront été offerts avant !


Expérience Utilisateur

Notifications de modification des états du système

Parce qu'il manipule des données liées au temps (notamment aux dates des événements), Make A Wish devra réalisés des tests quotidiens, indépendamment des interactions utilisateurs, et modifier les statuts de certains événements et vœux. Ces statuts pourront également être modifiés par les actions des utilisateurs eux-mêmes. Toutes ces évolutions de statuts devront être signifiées à l'utilisateur courant... reste à imaginer comment (notifications ?).

Saisie d'informations