slam4:richclient:angularjs:project:openbeerdatabase:todo

Projet Open-beer - fonctionnalités à implémenter

Implémenter, en respectant le modèle « Brewery » et ses fonctionnalités :

  • L’affichage de la liste des bières /beers (L'affichage de la bière n'affiche pas le brasseur associé)
  • L’ajout de bière /beers/new
  • La modification de bière /beers/update
  • La suppression de bière
  • L'affichage d'une bière consiste à afficher sur une seule page toutes les informations relatives à une bière (y compris le nom du brasseur associé)
  • L'affichage d'une bière est accessible par le bouton Voir la bière, apparant dans la liste des bières, lorsque l'une d'elle est active (simple click)
  • L'affichage de la bière affiche le nom du brasseur correspondant ⇒ /brewery/:id

  • L'affichage d'une brasserie consiste à afficher sur une seule page toutes les informations relatives à la brasserie
  • L'affichage d'une brasserie est accessible par le bouton Voir la brasserie, apparant dans la liste des brasseries, lorsque l'une d'elle est active (simple click)

L’affichage du formulaire de connexion peut se faire :

  • Sur le click du bouton “Se connecter”, présent sur toutes les pages de l’application (en l’absence de connexion)

En l’absence de connexion :
les éléments permettant la mise à jour de données ne doivent pas apparaître (boutons Ajouter/modifier/supprimer)

La connexion permet les mises à jour de données.

Une fois connecté, le bouton Se connecter doit être remplacé par le mail de l’utilisateur + un bouton déconnexion.

La tentative d’accès à une URL de mise à jour (breweries/new par exemple) doit afficher un message (Vous n’êtes pas autorisé à modifier cette ressource), et afficher le formulaire de connexion. La connexion réussie devra dans ce cas permettre d’accéder à la ressource demandée initialement.

La déconnexion affiche un message (exprimant la réalité de la déconnexion), ainsi qu'un bouton permettant de retourner à l'accueil.

Modifier et simplifier les paramètres de configuration :
On retiendra simplement :

  • Breweries
    • mode connecté (Chargement à chaque affichage et mise à jour immédiate)
    • mode hors connexion (chargement et mise à jour à la demande)
  • Beers
    • mode connecté (Chargement à chaque affichage et mise à jour immédiate)
    • mode hors connexion (chargement et mise à jour à la demande)

Permettre l'affichage des bières par brasserie à partir de /beers :

La liste doit conserver ses fonctionnalités quelque soit le mode d'affichage.

Ajouter une case à cocher dans le formulaire de connexion, permettant à l'utilisateur de mémoriser ses informations de connexion. A l'aide de ngCookie, faîtes en sorte que l'utilisateur n'ait plus à saisir ses identifiants de connexion à sa prochaine visite (Connexion automatique).

Ajouter dans les listes (breweries et beers) la possibilité de choisir les colonnes à afficher/masquer : Sur le click du bouton Colonnes : afficher un formulaire reprenant le nom des champs à afficher, associés à des cases à cocher :

La sélection des colonnes modifie en conséquence l'affichage de la liste associée.

Il est possible et conseillé de le faire en créant une directive.

D'une manière générale, tous les bugs corrigés dans l'application initiale doivent être signalés dans le fichier readme.md (pour être valorisés).

Liste des imperfections connues :

-- Mode hors connexion

  • En mode Hors connexion, l'annulation des actions en attente ne rétabli pas l'affichage des objets (bières ou brasseurs) supprimés
  • Le passage du mode non connecté au mode connecté fait perde les modifications en cours

-- Sur modifications offline

Il pourrait être opportun de signaler par une étoile par ex, si des modifications ont été apportées, soit au bières (Beers*), soit aux brasseries/brasseur (Breweries*).

-- Langue

L'interface semblant hésiter sur la langue (certaines parties sont en français, d'autres en anglais), il est possible de proposer les 2 versions, avec détection automatique de la langue, et possibilité d'en changer.

-- Structure de l'application

L'application initiale proposée n'est pas satisfaisante dans sa structure :

  • Le service Rest est dépendant de la Factory ConfigFactory ⇒ dépendance à éliminer
  • ConfigFactory mémorise des listes d'objets (breweries, beers), alors qu'il ne devrait gérer que la configuration ⇒ séparer la configuration de la mémorisation des listes d'objets, en créant un service ou une factory dédiée
  • slam4/richclient/angularjs/project/openbeerdatabase/todo.txt
  • Dernière modification : il y a 5 ans
  • de 127.0.0.1