C'est un projet dans le quel il y a un seul composant pour les produits (single component).
Ce projet est l'amélioration du premier projet. En fait, ici nous avons décomposer le composant product en des sous composants et nous avons intégré la communication avec le @input et @output de angular (pour la communication entre le composant fils et le composant parent).
Ce projet contient une autre méthode pour la centralisation de l'état de l'application; c'est d'utilier un simple service qui contient l'état de l'application et on fait un subscribe ou publish de l'événement.
NgRx est un framework pour créer des applications réactives en Angular. NgRx fournit des bibliothèques pour : Gérer l'état global et local. Isolation des effets secondaires pour promouvoir une architecture de composants plus propre. Gestion des collections d'entités.