1.3 - Laboratoire 1 đź””


Remise: Lundi 23 janvier, 8h00

Laboratoire #1 - 10%, Individuel

À partir de l'application Recipeasy réalisée en atelier, vous devez ajouter les fonctionnalités de gestion des recettes(Création, Liste, Suppression). 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 alpha sont:

  • Interface(mise en page/style) et expĂ©rience utilisateur cohĂ©rente
    • Vous devez gĂ©rer une route wildcard pour afficher une page Not Found pour les routes invalides
    • Vous devez gĂ©rer l'affichage de la barre de navigation(Recipes, Profile et Log out masquĂ©) si l'utilisateur est connectĂ© ou non(le AuthService expose isLoggedIn).
  • MĂ©canisme CDL persistant pour l'entitĂ©e Recipe, en respect de l'association avec User
    • Chaque utilisateur du système doit possĂ©der ses propres recettes
    • Affichez la liste des recettes en ordre alphabĂ©tique de nom
    • GĂ©rer un layout alternatif lorsqu'il n'y a aucune recettes
    • Pour identifier chaque recette, vous pouvez leur donner un id unique alĂ©atoire Math.random().toString(16).substring(2)
    • Les catĂ©gories des recettes sont Ă  votre choix, ex: 0 = DĂ©jeuner, 1 = Diner, etc.
    • Le nom des recettes est obligatoire
    • Vous devez exploiter les components et models pour sĂ©parer les responsabilitĂ©s de votre application
    • Vous devez utiliser de façon pertinente et judicieuse la communication entre les components via les mĂ©canismes Input/Output
    • Vous devez encapsuler la manipulation des recettes dans un Service
  • Sauvegarde locale des recettes
    • Si aucunes donnĂ©es n'existent (localStorage.length == 0) au dĂ©marrage de l'application, vous devez insĂ©rer des donnĂ©es de dĂ©part suffisantes pour constater le fonctionnement et dĂ©montrer les diffĂ©rentes cas possibles
  • 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.

Il est important de réaliser les fonctionnalités demandées car votre projet servira de point de départ pour la semaine prochaine.

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

  • Vous devez crĂ©er un rĂ©pertoire privĂ© sur Bitbucket pour hĂ©berger votre projet et m'y inviter avec l'adresse jhoffman@cshawi.ca avant jeudi 8h30, sinon une pĂ©nalitĂ© de 10% sera appliquĂ©e.
  • La branche principale de votre projet sera rĂ©cupĂ©rĂ©e tel quelle au moment de la remise

Grille d'Ă©valuation

Création de recettes 0   1   1.5   2
Validation à la création des recettes 0   1   1.5   2
Supression de recettes 0   1   1.5   2
Liste des recettes 0   1   1.5   2
Ordre alphabétique et layout alternatif pour la liste des recettes 0   1   1.5   2
État des recettes persistant, pour chaque utilisateur 0   1   1.5   2
Affichage des données de l'utilisateur authentifié 0   1   1.5   2
Route wildcard 0   1   1.5   2
Gestion de la barre de navigation si utilisateur connecté ou non 0   1   1.5   2
Communication avec un Input 0   1   1.5   2
Communication avec un Output 0   1   1.5   2
Séparation judicieuse des responsabilité des components/models/services 0   1   1.5   2
Respect de la structure des entitées 0   1   1.5   2
Initialisation des données de départ 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