Accueil > Intranet Michel Buffa > M2 MIAGE INTENSE Technos Web 2021-2022 > Mini projet MEAN stack / cloud M2 MIAGE INTENSE 2022-2023

Mini projet MEAN stack / cloud M2 MIAGE INTENSE 2022-2023

De $1

Sujet du mini projet : améliorer le TP sur les Assignments

A faire an Angular.

Contraintes :

  • A faire en binôme.
     
  • Au moins 1000 assignments dans la base de données.
     
  • A rendre sur github et hébergé sur Heroku.com ou sur render.com (je vous conseille d'héberger au dernier moment,  les VMs ne sont là que pendant un mois sur heroku. Plus longtemps sur render.com).
  • Penser à faire un README qui détaille vos contributions et qui m'explique en détail ce que je dois faire pour le faire tourner sur ma machine.
     
  • facultatif mais apprécié : vidéo pas trop longue illustrant une démo et un point remarquable de votre projet (ce que vous avez fait mais que les autres n'ont pas fait, un point difficile dont vous êtes fiers, etc.)
     
  • Date de rendu : le 4 Janvier 2022, non nénociable. Je mets zéro après cette date.  

  • Pompage = zéro mais....  Vous avez le droit de récupérer des bouts d'un autre groupe mais en le disant clairement ("J'ai repris ce bout de code ici sur le net voilà l'URL, et ça du groupe xxx et yyy qui m'ont aidé")

Détail du travail attendu

Vous apporterez les améliorations optionnelles suivantes à ce TP :

  • Ajouter une gestion de login/password
    • FACILE : Cas simple : vous codez en dur dans le service d'authentification une liste de login/passwords valides.
       
    • AVANCE : Cas mieux (mais pas mal de travail sur back-end): en créant une collection Utilisateurs dans MongoDB, et en validant que le user/password est correct.
       
    • AVANCE++ : Encore mieux: regardez comment utiliser l'authentification à l'aide de Json Web Tokens (JWT)en suivant par exemple ce tutoriel
       
    • Comme dans le TP on gérera le cas particulier admin.
       
  • Ajouter de nouvelles propriétés au modèle des Assignments:
    • Auteur (nom de l'élève)
    • Matière (Base de données, Technologies Web, Grails, etc.)
      • Une image sera associée à chaque matière et une photo du prof
    • Note sur 20, on ne peut marquer "rendu" un Assignment qui n'a pas été noté.
    • Remarques sur l'assignment
    • SUGGESTIONS : vous pourrez soit modifier juste le modèle actuel des assignments, soit ajouter une collection "matières" et/ou une collection "élève", mais évidemment cela impactera plus le back end et cela représente beaucoup de travail par rapport au reste de ce qui est demandé, c'est donc une solution optionnelle pour les meilleurs d'entre vous.
       
  • Améliorer l'affichage des Assignments
    • Vous afficherez les assignments dans une table angular material. A vous de voir si vous arrivez à la rendre triable, avec ligne des headers fixe (qui ne scrolle pas), avec la pagination. Ajoutez un moyen pour avoir une vue de détail sur un assignment.
    • Regardez les tables avec datasource, c'est encore plus simple.
    • La vue détails montrera en plus les remarques, la note s'il a été rendu, la photo du prof, etc.
    • Les formulaires d'ajout et de détails proposeront un choix fixe de matières (et associeront automatiquement le prof et l'image illustrant la matière)
       
  • Ajouter un filtre rendu/non rendu : Selon que cette case est cochée ou pas le tableau affichera uniquement les assignments rendus ou non rendus.

     
  • Ajouter un champ de recherche sur le nom de l'assignment qui enverra une requête et affichera les résultats correspondants à la recherche.
     
  • Optionnel (mais simple à faire): utiliser un Formulaire de type Stepper (formulaire en plusieurs étapes) pour l'ajout d'Assignments (éventuellement pour la modification)
     
  • Rendre le tout plus joli, essayez de ne faire tous la même chose. Je recommande une toolbar en haut, une sidebar sur le côté.
     
  • Hébergement sur Heroku.com ou render.com.

  • Le sujet est ouvert, vous pouvez ajouter ce qui vous semble amusant/pertinent:
    • (facile) Ajout de messages de notification (SnackBar Material)
    • Etc.

 

Mots clés:
 
Images (0)
 
Commentaires (0)
Vous devez être connecté pour poster un commentaire.