Aller au contenu principal

(S15) Itération 5 - Application admin rendu client et site web final

Thème: Application d'administration complète et ajout de support pour les paiements

Durant cette itération vous aurez l'occasion de poursuivre le développement de l'application de gestion (admin) du site Web de Steamy en mode client-serveur (API et Blazor WASM) et d'ajouter le support pour les paiements via Stripe Checkout.

Vous aurez à remettre le code complet de l'application de gestion et du site Web transactionnel rendu serveur.

Votre mission

Votre objectif

Développer et finaliser l'application de gestion du site en Blazor et ajouter le support pour les paiements via Stripe Checkout.

Il n'y a pas de maquettes Figma pour cette portion, vous êtes libre d'implémenter le tout comme bon vous semble, tant que les fonctionnalités demandées sont présentes.

Pour cette mission (en individuel), valant pour 40% de la session, vous devrez remettre l'application d'administration de la plateforme et ajouter le support pour les paiements au site Web transactionnel (projet MVC).

Les fonctionnalités suivantes sont demandées:

  • Authentification via un formulaire de connexion et jeton JWT
  • Authorization de l'accès à la plateforme via un rôle Admin et Modérateur et la gestion des droits
    • Un administrateur peut tout faire sur la plateforme
    • Un modérateur ne peut pas accéder à la gestion des produits, ni faire le CRUD des produits. Il peut:
      • Supprimer des évaluations de la plateforme
      • Faire la gestion des mots interdits
  • Gestion complète (CRUD) des produits
    • Vous devez faire la gestion de l'image associée au produit, c'est-à-dire: ajouter, modifier et supprimer l'image.
  • Ajout d'une option de recherche pour filtrer la liste des produits
  • Gestion complète (CRUD) des mots interdits:
    • Ajouter un menu modération qui affichera la liste des mots interdits
    • Ajouter, modifier et supprimer un mot interdit
    • Ajouter une nouvelle table "mots_interdits" dans la base de données (Voir plus bas pour le détail)
    • Bloquer la création et modification d'une évaluation d'un produit qui contient l'un des mots interdits au moment de l'action.
    • L'administrateur et le modérateur peuvent faire le CRUD des mots interdit
  • Gestion simple des évaluations
    • Il est possible d'afficher les évaluations et d'en supprimer au besoin
  • Utilisation des fichiers ressources pour tous les aspects du projet Blazor
  • Avoir au moins une page significative dans le projet MVC complètement traduite avec changement de langue fonctionnel
  • Ajout de Stripe Checkout pour les paiements au site transactionnel
  • Tester l'application d'admin et le site transactionnel via des tests automatisés. Vous devez tester:
    1. Test d'intégration (MVC) (7 pts.)
      • Obtenir (action Show) un produit (succès et non trouvé/erreur)
      • Créer ou modifier une évaluation (valide + non valide)
    2. Test d'intégration (API) (7 pts.)
      • Tester la création de votre CRUD (valide + non valide)
    3. Test unitaire (3 pts.)
      • Test de votre choix (significatif)
    4. Test E2E (3 pts.)
      • Test de votre choix (significatif)

De plus, comme il s'agit de la remise finale, vous pouvez revisiter votre projet de site Web transactionnel afin de l'améliorer.

Modalités de remise

  • Remis via Léa et GitLab
  • Déposer le code de votre projet sur un repo GitLab sous le tag iteration_5
  • Vous assurer que je sois maintainer ou developer sur votre repo
  • Remettre un fichier .txt sur Léa avec l'URL de votre repo GitLab
  • Important: Préciser dans votre Readme les choix individuels que vous avez fait: votre choix de filtre ou recherche, la page complète traduite et les tests que vous avez choisi de faire. Si jamais un élément n'a pas été fait, précisez-le. Cela évitera des confusions.
  • Important: Inclure un export pg_dump (fichier .sql) de votre BD à la racine du repo. Voir le rappel de la procédure plus bas.
  • Remis avant le 13 mai 2025 23:59

Grille d'évaluation

CritèrePoints
Projet Blazor (WASM) lié au projet d'API et intégré à la structure existante5%
Authentification par jeton avec gestion des droits d'accès (rôles)10%
Gestion complète des produits (CRUD) et gestion des images20%
Modération des commentaires et gestion complète des mots interdits (CRUD)20%
Option de recherche5%
I18n, changement de langue (MVC) et utilisation de fichiers ressources5%
Tests automatisés20%
Paiement via Stripe Checkout5%
Qualité générale et documentation10%

Export de votre BD avec pg_dump

Pour exporter le contenu et l'état de votre base de données, utilisez DataGrip, conjointement avec pg_dump.

  1. Clic droit sur la BD -> Export with pg_dump Imgur
  2. Cliquez sur le dossier du champ Path to pg_dump pour localiser l'exécutable pg_dump Imgur
  3. Localisez le fichier pg_dump.exe qui devrait être dans le dossier Program Files\PostgreSQL\15\bin si vous avez la version 15 de PostgreSQL et avez conservé les paramètres par défaut du dossier d'installation. Imgur
  4. Cliquer sur OK
  5. Choisir le nom du fichier sous lequel sauvegarder l'export (dois être un fichier avec l'extension .sql) Imgur
  6. Cliquer sur Run
  7. Mettre le fichier .sql généré à la racine de votre repo