-
Créer une application de e-commerce basée sur les micro services : 1. Consul Discovery
2. Spring Cloud Config 3. Spring Cloud Gateway 4. Customer-service 5. Inventory Service 6. Order Service 7. Consul Config (Billing Service) 8. Vault (Billing Service) 9. Frontend Web avec Angular
L’architecture de cette application devra gérer 3 entités. Les entités utilisées dans l’application sont :
Une entité "Customer" qui comporte les propriétés suivantes :
- id
- nom
public class Customer {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
}
Une entité "Produit" qui comporte les propriétés suivantes :
- id
- quantity
- nom
- price
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Entity
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private double price;
private int quantity;
}
Une entité "Order" qui comporte les propriétés suivantes :
- id
- liste des produits
- totalPrice
@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Table(name = "orders")
public class Order {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private Date createdAt;
private OrderStatus status;
private Long customerId;
@Transient
private Customer customer;
@OneToMany(mappedBy = "order")
private List<ProductItem> productItems;
public double getTotal(){
return productItems.stream()
.mapToDouble(ProductItem::getTotal).sum();
}
}
*aprés la configuration par consul config et vault config
[name=elmajnikhaoula]La liste des produits
[name=elmajnikhaoula]La liste des clients
[name=elmajnikhaoula]La liste des factures par client
[name=elmajnikhaoula]Les détails d'une facture d'un client
- * Java est le langage de choix pour créer des applications à l'aide de code managé qui peut s'exécuter sur des appareils mobiles.
voir Ă©galement Ă propos JAVAđź”—
- Spring Data JPA, qui fait partie de la grande famille Spring Data, facilite la mise en œuvre de référentiels basés sur JPA. Ce module traite de la prise en charge améliorée des couches d'accès aux données basées sur JPA. Il facilite la création d'applications alimentées par Spring qui utilisent des technologies d'accès aux données.
*voir Ă©galement Ă propos de Spring Data JPA đź”—
- Ce projet fournit des intégrations OpenFeign pour les applications Spring Boot via la configuration automatique et la liaison à l'environnement Spring et à d'autres idiomes de modèle de programmation Spring.
*voir Ă©galement Ă propos de Spring Cloud Open Feign đź”—
- Ce projet fournit une bibliothèque pour créer une passerelle API au-dessus de Spring WebFlux. Spring Cloud Gateway vise à fournir un moyen simple mais efficace d'acheminer vers les API et de leur fournir des préoccupations transversales telles que : la sécurité, la surveillance/les métriques et la résilience.
*voir Ă©galement Ă propos de Spring Cloud Gateway đź”—
- Swagger est une suite d'outils pour les développeurs d'API de SmartBear Software et une ancienne spécification sur laquelle est basée la spécification OpenAPI.
*voir Ă©galement Ă propos de Swagger đź”—
- Compose est un outil permettant de définir et d'exécuter des applications Docker multi-conteneurs. Avec Compose, vous utilisez un fichier YAML pour configurer les services de votre application.
*voir Ă©galement Ă propos de Docker Compose đź”—
- Consul est un outil multi-réseaux qui offre une solution de maillage de services complète qui résout les défis de mise en réseau et de sécurité liés à l'exploitation de microservices et d'infrastructures cloud (multi-cloud et cloud hybride). Cette documentation couvre les principaux concepts de Consul, les problèmes qu'il peut résoudre et contient un démarrage rapide pour l'utilisation de Consul.
*voir Ă©galement Ă propos de Consul đź”—
- Vault est un système de gestion des secrets et du chiffrement basé sur l'identité. Cette documentation couvre les principaux concepts de Vault, les problèmes qu'il peut résoudre et contient un démarrage rapide pour l'utilisation de Vault.
*voir Ă©galement Ă propos de Vault đź”—
- Zipkin est un système de traçage distribué. Il permet de collecter les données de synchronisation nécessaires pour résoudre les problèmes de latence dans les architectures de service. Les fonctionnalités incluent à la fois la collecte et la recherche de ces données.
*voir Ă©galement Ă propos de Zipkin đź”—
- Spring Cloud Sleuth fournit la configuration automatique de Spring Boot pour le traçage distribué. Sleuth configure tout ce dont vous avez besoin pour commencer. Cela inclut où les données de trace (spans) sont signalées, combien de traces conserver (échantillonnage), si des champs distants (bagages) sont envoyés et quelles bibliothèques sont tracées. Plus précisément, Spring Cloud Sleuth…
*voir Ă©galement Ă propos de Spring Cloud Sleuth đź”—
- Angular est un cadre de conception d'applications et une plate-forme de développement permettant de créer des applications d'une seule page efficaces et sophistiquées.
*voir Ă©galement Ă propos de Angular đź”—
- Enfin nous tenons à remercier le seul et unique, notre professeur Mr YOUSFI Mohamed Docteur & professeur à l'ENSET MEDIA pour son soutien et son encouragement envers nous, aussi pour nous avoir donné cette opportunité d'améliorer nos compétences et de connaître les nouvelles technologies comme celles qui nous avons travaillé.
voir Ă©galement Ă propos Mr YOUSSFI Mohamed
Created by :[name=ELMAJNI KHAOULA] [time=Mon,2022,11,01][color=#EF0101] voir Ă©galement Ă propos de moi ELMAJNI Khaoula