2.2 - Laboratoire 2 đź””


Remise: Lundi 30 janvier, 8h00

Laboratoire #2 - 10%, Individuel

À partir de l'application Recipeasy, vous devez implémenter les fonctionnalités de gestion des recettes(Création, Consultation, Modification, Suppression, Liste) en exploitant l'API HTTP Martha. Votre remise est la démonstration fonctionnelle des spécifications demandées.

Contexte

Les entitées à manipuler sont les suivantes:

+------------------+ 1          * +---------------------+
|       User       +--------------+       Recipe        |
+------------------+              +---------------------+
| email   : string |              | id: string          |
| password: string |              | category: int       |
+------------------+              | name: string        |
                                  | description: string |
                                  +---------------------+

Les fonctionnalités attendues pour la version beta sont:

  • Comportement minimal tel que dĂ©fini par les ateliers dirigĂ©s et le laboratoire #1
  • Interface(mise en page/style) et expĂ©rience utilisateur cohĂ©rente
    • Vous devez utiliser un guard pour rediriger un utilisateur dĂ©jĂ  connectĂ© vers /recipes s'il navigue vers le login ou signup
  • MĂ©canisme CRUDL pour l'entitĂ©e Recipe, en respect de l'association avec User
    • OpĂ©rations CRUDL via l'API HTTP Martha en utilisant la bd et queries fournis
  • Un route parameterized /recipes/:id doit permettre d'afficher le dĂ©tail d'une recette et l'Ă©dition de ses informations
    • Validations du formulaire lors de la modification
    • Un utilisateur ne peut qu'accĂ©der au dĂ©tail de ces recettes
  • Vous devez exploiter les components pour sĂ©parer les responsabilitĂ©s dans votre application
    • Vous devez utiliser de façon pertinent et judicieuse la communication entre les components via les mĂ©canismes Input/Output
  • Vous devez exploiter judicieusement les services pour encapsuler les requĂŞtes HTTP
  • Vous devez ajouter des donnĂ©es de dĂ©part cohĂ©rentes dans votre BD Martha pour constater le fonctionnement et dĂ©montrer les diffĂ©rentes possibilitĂ©s
  • Vous devez utiliser la librairie ngx-translate pour traduire(FR/EN) 1 Ă©cran significatif(UI, UX, validations) de votre application
    • Le choix de langue se fait via la barre de navigation et doit persister entre les refresh
  • Votre application devra ĂŞtre dĂ©ployĂ©e en production sur votre serveur fourni par Mathieu Ă  l'url labgular.123456.system.shawinigan.info
  • Indiquez sur le login :
    • les utilisateurs de tests
    • l'Ă©cran qui est traduit
  • Voir la grille d'Ă©valuation pour le dĂ©tail des requis techniques

MĂ©thodologie

J'agirai en tant que chargé de projet pour répondre à vos questions dans le but de préciser l'analyse sommaire fournie et orienter la résolution de vos défis techniques.

Modalités d’évaluation

Une pénalité de 10% sera appliquée à la note du travail pour chaque jour de retard à la remise.

Instructions de remise

  • Le mĂŞme rĂ©pertoire Git que le laboratoire 1 sera utilisĂ©
  • La branche principale de votre projet sera rĂ©cupĂ©rĂ©e tel quelle au moment de la remise

  • Votre version production doit ĂŞtre accessible via un sous-domaine sur votre serveur selon le format suivant labgular.123456.system.shawinigan.info

Grille d'Ă©valuation

Pas de régression par rapport aux ateliers et labo #1 0   1   1.5   2
Création de recettes via Martha 0   1   1.5   2
Route pour la consultation d'une recette via Martha 0   1   1.5   2
Modification de recettes via Martha 0   1   1.5   2
Validation à la modification des recettes 0   1   1.5   2
Supression de recettes via Martha 0   1   1.5   2
Liste des recettes via Martha 0   1   1.5   2
Affichage des données de l'utilisateur authentifié: liste et détail 0   1   1.5   2
Traduction d'un écran 0   1   1.5   2
Choix de la langue persistant 0   1   1.5   2
Guard pour l'utilisateur déjà connecté vers login/signup 0   1   1.5   2
Mise en production labgular.DA.system.shawinigan.info 0   1   1.5   2
Séparation judicieuse des responsabilité des components/models/services 0   1   1.5   2
Respect de la structure, données de test 0   1   1.5   2
Interface, mise en page, style cohérent 0   1   1.5   2
Expérience utilisateur cohérente 0   1   1.5   2
Qualité du code 0   1   1.5   2
Total / 34

Échelle

0: absent, médiocre | 1: minimal, insatisfaisant | 1.5: bon, satisfaisant | 2: excellent