1. UC2: récolter et agréger l'humeur pour un évènement donné
1.1. possibilité pour l'admin de sélectionner un pool de participants pour déclencher la question
1.1.1. création de teams sur base des emails récoltés
1.1.1.1. compte utilisateur serveur où l'on associe un email avec de multiples devices
1.1.1.2. gestion/retrait des devices pour le push notif ciblé.
1.1.1.2.1. Et sil'utilisateur n'a pas autorisé les notifs? ==> il faut les 2 solutions : notifs + start App
1.1.1.3. au premier lancement de l'app, il nous faut récolter l'email de l'utilisateur
1.1.1.3.1. via du onboarding/enregistrement
1.1.1.3.2. Aucune vérification de l'email faite avec le serveur. Tant pis pour les erreurs de saisie.
1.1.2. obligation pour les utilisateurs d'avoir un identifiant email
1.1.3. La solution la plus adaptée semble être la push notification
1.1.3.1. utilisation de Firebase pour les 2 os
1.1.3.1.1. dans la notif, il faut un ID à l'event (miroir de la date de l'humeur journalière)
1.1.3.1.2. envoi au BO : id Event, humeur, hash
1.1.3.2. Côté Back, il existe un bundle capable d'envoyer des pushs notifs aux applis mobiles
1.1.4. Autre solution : au démarrage de l'app on interroge le serveur pour les "questions" en attente.
1.1.4.1. dans ce cas, l'UI doit faut prévoir une zone pour les notifs en attente Exemple : J'ai participé à 2 events. Qu'est-ce que l'application m'affiche?
1.1.4.1.1. une seule notif en attente max.
1.1.4.1.2. Endpoints serveur?
1.2. permettre le changement de mail
1.2.1. ce bouton ne fait que lancer le processus de deconnexion
1.2.2. supprimer le compte
1.2.2.1. iOS - retrait de la liste des push notifs
1.2.2.2. la deconnexion renvoie sur l'écran du premier lancement (main screen + popover saisie mail)
1.2.2.3. suppression des rappels enregistrés
1.2.3. On choisit l'hypothèse que le changement de mail = nouveau compte
1.2.4. On ne permet pas le changement de mail
2. UC1: récolter et agréger l'humeur sur base journalière
2.1. Premier lancement.
2.1.1. on créé un hash pour permettre de changer son humeur de la journée sans créer de nouvelles entrées.
2.1.2. une fois la première humeur enregistrée, on programme un rappel tous les jours de la semaine de travail et le message de confirmation d'envoi de l'humeur inclut un texte précisant la création de ce rappel et de la modification de celui-ci dans l'écran de paramètre.
2.2. IOS - On doit afficher l'autorisation de notifications locales pour que l'appli puisse envoyer des rappels pour l'humeur du jour.
2.2.1. Ecran de réglage
2.2.1.1. paramètrage du rappel : jour et heure de la semaine
2.2.1.1.1. Android - nice to have - réglage de la notif : centre de notif, vibrations, son, etc...
2.2.1.1.2. iOS - faire un lien vers les réglages de l'app dans l'app settings pour gérer finement la notification
2.3. Ecran principal
2.3.1. UI simple dans un premier temps : 3 boutons colorés correspondants à 3 choix d'humeur
2.3.1.1. Dans un second temps on envisagera le smiley morphant (sauf si on a trouvé un truc plus kiffant)
2.3.1.2. envoi back-office : tableau de date, hash, humeur
2.3.1.2.1. le back office a donc besoin d'avoir une table "jour" contenant simplement la liste des jours ainsi qu'une table résultat contenant le jour en FK, le hash et l'humeur.
2.3.1.2.2. déroulement: 1. on enreg en local 2. on prend tout les enregs locaux 3. on envoie au serveur s'il y a une connexion internet
2.3.1.3. lorsque l'utilisateur clique sur l'humeur du jour, elle est enregistrée localement puis envoyé au serveur
2.3.1.4. L'appli ne permet de donner que l'humeur du jour
2.4. interaction à partir de la notification
2.4.1. iOS - notif enrichie iOS10 : le texte est en haut et l'action sheet présente les 3 valeurs des humeurs.
2.4.1.1. envoi back-office : données et process comme dans l'app sauf pour la gestion de l'erreur
2.4.1.1.1. gestion des erreurs : comme dans l'app mais pas de popup.
2.4.2. Android - une carte de notification avec le texte et les 3 boutons d'humeur. possibilité de mettre des images dans les boutons.
2.4.2.1. envoi back office : comme pour iOS
2.4.3. que se passe-t-il si l'utilisateur laisse passer la notif ? comment la retrouver dans l'app?
2.4.3.1. on choisit de "l'oublier", l'appli permet seulement de donner l'humeur du jour.