0% found this document useful (0 votes)
6 views

Classe UML (1)

The document outlines the architecture and components of a microservices system that includes authentication, notification, product, order, cart, and wishlist services. Each service has defined entities, repositories, and controllers with specific methods for managing data and interactions. The structure emphasizes the relationships between services and their respective functionalities.

Uploaded by

meryemnajlae2003
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Classe UML (1)

The document outlines the architecture and components of a microservices system that includes authentication, notification, product, order, cart, and wishlist services. Each service has defined entities, repositories, and controllers with specific methods for managing data and interactions. The structure emphasizes the relationships between services and their respective functionalities.

Uploaded by

meryemnajlae2003
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Auth- Service

Notification- Service

JwtUtil
NotificationRepository

+ generateToken(email: String): String


+ validateToken(token: String): boolean + findById(idNotification: Long):
+ extractEmail(token: String): String
Notification Optional<Notification>
+ findByUserId(userId: Long):
- idNotification: Long List<Notification> NotificationController
- userId: Long + save(notification: Notification): Notification
- message: String + deleteById(idNotification: Long): void
User UserRepository - notificationService: NotificationService
- type: String
- timestamp: Date
- IdUser: Long
+findById(IdUser : Long): Optional<User> UserController + envoyerNotification(request: NotificationRequest):
- Email: String
+findByEmail(email : String) : Optional<User> ResponseEntity<Notification>
- psswd : String + getIdNotification(): Long
- FullName: String +save(User: User): User - UserService : UserService NotificationService + getNotificationsParUser(userId: Long):
+ getUserId(): Long
- roles: List<String> +deleteById(IdUser : Long):void ResponseEntity<List<Notification>>
+ getMessage(): String
+ getType(): String - notificationRepository: NotificationRepository
+Inscription(request : InscriptionRequest) :
ResponseEntity<User> + getStatus(): String
+getId():Long
+getEmail() : String UserService +Connexion(request:ConnexionRequest):ResponseEntity<User> + getTimestamp(): Date
+ setUserId(userId: Long): void + envoyerNotification(userId: Long, message:
+getPsswd(): String +updateProfile(IdUser: Long,request : ProfileRequest) :
+ setMessage(message: String): void String, type: String): Notification
+getFullName():String - UserRepository : UserRepository ResponseEntity<User>
+ setType(type: String): void + getNotificationsParUser(userId: Long):
+ getRoles(): List<String> - jwtUtil: JwtUtil + validateToken(token: String): ResponseEntity<Boolean>
+ setStatus(status: String): void List<Notification>
+ setRoles(roles: List<String>): void + traiterEvenementKafka(event:
+setEmail(email : String) : void + setTimestamp(timestamp: Date): void
+Inscription(email,psswd,FullName): User NotificationEvent): void
+setPsswd(psswd : String) : void
+setFullName(FullName: String) :void +authentification(email,psswd): User
+updateProfile(IdUser : Long , email :String ,
psswd:String, FullName:String) : User
+ validateToken(token: String): boolean

Product- Service
Order- Service

Product
ProductRepository
Commande
- IdProduct: Long
- nom: String +findById(IdProduct : Long):
- description : String Optional<Product> - IdCommande: Long
- imageUrl: String +findAll() : List<Product> - UserId: Long
+prix: double ProductController - dateCreation: Date
+save(product: Product): Product
+categorie : String - statut : String
+deleteById(IdProduct : Long):void
- total : double
- productService : ProductService
+getIdProduct():Long
+getNom() : String +getIdCommande():Long
+getProduct(idProduct : Long) : ResponseEntity<Product> CommandeRepository
+getDescription(): String +getUserId() : Long
+getAllProduct(): ResponseEntity<List<Product>>
+getImageUrl():String ProductService +getDateCreation() : Date Commande Service
+NewProduct(product:Product):ResponseEntity<Product>
+getPrix():double +getStatut() : Long +findById(IdCommande : Long): Optional<Commande>
+deleteProduct(idProduct : Long) : ResponseEntity <void>
+getCategorie():String +getTotal() : double
- productRepository : ProductRepository +finByUser(UserId :Long) :List<Commande> - commande Repository : Commande Repository
+setNom(nom : String) : void +setUserId(UserId : Long) : void
+setDateCreation(dateCreation : Date) : void +save(commande: Commande): Commande - commande ItemRepository: Commande ItemRepository
+setDescription(description : String) : void
+setStatut(statut : String) : void +deleteById(IdCommande : Long):void
+setImageUrl(imageUrl: String) :void +getProduct(idProduct : Long) : Product
+setPrix(prix: double) :void +setTotal(total : double) : void
+getAllProduct(): List<Product> +creerCommande(UserId: Long, items :List<CommandeItems>):
+setCategorie(categorie: String) :void +NewProduct(product:Product):Product Commande
+deleteProduct(idProduct : Long) : void +getCommandesParUser(UserId:Long):List<Commande>
CommandeItem
+getDetailsCommande(commandeId:Long):Commande
CommandeItemRepository +annulerCommande(commandeId :Long):void
- IdCommandeItem: Long
- commandeId: Long
- productId:Long
- quantite:int
+findByCommandeId(commandeId : Long): CommandeController
- prixUnitaire:double List<CommandeItem>
+save(commandeItem: CommandeItem): - commande Service : Commande Service
CommandeItem
+getIdCommandeItem():Long +deleteById(IdCommandeItem : Long):void
+getCommandeId() : Long +creerCommande(request :
+getProductId() : Long CreerCommandeRequest):ResponseEntity< Commande>
+getQuantite() : int +getCommandesParUser(UserId:Long):
+getPrixUnitaire():double ResponseEntity<List<Commande>>
Cart- Service
+setCommandeId(commandeId : Long):void +getDetailsCommande(commandeId:Long):
+setProductId(productId : Long) : void
ResponseEntity<Commande>
+setQuantite(quantite : int) : void
+annulerCommande(commandeId :Long): ResponseEntity<void>
+setPrixUnitaire(prixUnitaire: double): void

Panier
PanierRepository
- IdPanier: Long
- UserId: Long PanierService
+findById(IdPanier : Long): Optional<Panier> WishList- Service
+finByUser(UserId :Long) :Optional<Panier> - panierRepository : PanierRepository
+getIdPanier():Long +save(panier: Panier): Panier - panierItemRepository: PanierItemRepository
+getUserId() : Long +deleteById(IdPanier : Long):void
+setUserId(UserId : Long) : void
+getPanier(UserId : Long) : List<PanierItem> WishListRepository
+viderPanier(UserId : Long) : void
+retirerProduit(UserId : Long , productId:Long):void
PanierItem +ajouterProduit(UserId:Long, productId:Long,quantite: + findById(idWishList: Long): WishList Controller
int) : PanierItem WishList Optional<WishList>
- IdPanierItem: Long + findByUserId(userId: Long): List<WishList> - wishListService: WishListService
- panierId: Long PanierItemRepository + save(wishList: WishList): WishList
- idWishList: Long
- productId:Long - userId:Long + deleteById(idWishList: Long): void
- quantite:int ProductController + deleteByUserIdAndProductId(userId: Long, + ajouterAlaWishList(userId: Long, productId: Long):
- ProductId: Long
+findByPanierId(panierId : Long): ResponseEntity<WishList>
productId: Long): void
List<PanierItem> - panierService : PanierService + supprimerDeLaWishList(userId: Long, productId: Long):
+getIdPanierItem():Long +save(panierItem: PanierItem): PanierItem + getIdWishList(): Long ResponseEntity<Void>
+getPanierId() : Long +deleteById(IdPanierItem : Long):void + getUserId(): Long + getWishListParUser(userId: Long):
+getProduitId() : Long +getPanier(UserId : Long) : ResponseEntity<List<PanierItem>> + getProductId(): Long ResponseEntity<List<Product>>
+getQuantite() : int +viderPanier(UserId : Long) : ResponseEntity<void> + setUserId(userId: Long): void WishListService
+setPanierId(panierId : Long):void +retirerProduit(UserId : Long , productId:Long):ResponseEntity<void>
+ setProductId(productId: Long): void
+setProduitId(produitId : Long) : void +ajouterProduit(UserId:Long, productId:Long,quantite: int) :
+setQuantite(quantite : int) : void ResponseEnity<PanierItem> - wishListRepository: WishListRepository

+ ajouterAlaWishList(userId: Long, productId:


Long): WishList
+ supprimerDeLaWishList(userId: Long,
productId: Long): void
+ getWishListParUser(userId: Long):
List<Product>

You might also like