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
).
Nous vous conseillons d'utiliser le composant table de PrimeNG avec les options filtre, edit, page, etc...
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 :
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.
Vous pouvez ajouter des tests Postman ou Swagger pour valider votre API