ilalande / alten-shop-productsJC

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Front-end

Créer un module angular "product" avec 2 composants (basés sur primeng):

  • products-admin : qui liste les produits et qui permet de les administrer (ajouter, supprimer, modifier). Il doit être accessible à cette adresse : http://localhost:4200/admin/products
  • products : qui liste les produits en mode lecture seule, comme sur une boutique en ligne. Il doit être accessible à cette adresse : http://localhost:4200/products

Une liste de produit est disponible dans le dossier assets : front/assets/products.json.

Le service qui permettra de manipuler les produits doit se baser sur cette liste et être prêt à être connecté sur une API Rest ultérieurement

Le design cible est visible sur les captures d'écrans ci-dessous (et disponibles dans le dossier front/doc).

Pour la partie Admin : admin

Nous vous conseillons d'utiliser le composant table de PrimeNG avec les options filtre, edit, page, etc...

Pour la partie publique : public

Nous vous conseillons d'utiliser le composant data view de PrimeNG avec les options sort, search, page, etc...

Le menu latéral gauche doit contenir les accès à ces 2 composants.

Un système de pagination doit être mis en place pour pouvoir afficher les produits par 10, 25 ou 50 comme ci-dessous :

pagination

Back-end (optionnel)

Si vous avez le temps vous pouvez développer un back-end permettant la gestion de produits définis plus bas. Vous pouvez utiliser la technologie de votre choix parmis la liste suivante :

  • nodejs/express
  • Java/Spring Boot
  • C#/.net Core
  • Python/Flask

Le back-end doit gérer les API suivantes :

Resource POST GET PATCH PUT DELETE
/products Create a new products Retrieve all products X X X
/products/1 X Retrieve details for product 1 Update details of product 1 if it exists X Remove product 1

Un produit a les caractéristiques suivantes :

class Product {
  id: number;
  code: string;
  name: string;
  description: string;
  price: number;
  quantity: number;
  inventoryStatus: string;
  category: string;
  image?: string;
  rating?: number;
}

Le back-end créé doit pouvoir gérer les produits dans une base de données SQL/NoSQL ou dans un fichier json.

Bonus

Vous pouvez ajouter des tests Postman ou Swagger pour valider votre API

About


Languages

Language:CSS 65.0%Language:JavaScript 19.9%Language:TypeScript 9.5%Language:HTML 2.9%Language:SCSS 2.7%