2.2 - Laboratoire 2 đź””


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
  • Vous devrez gĂ©nĂ©rer la version production de l'application et en dĂ©montrer le fonctionnement avec http-server
    • Assurez-vous de tester le comportement des navigations via la barre d'URL
  • Indiquez sur la page 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

  • PrĂ©sentation individuelle des fonctionnalitĂ©s de l'application via un serveur HTTP local

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, navigation via URL 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