-
Notifications
You must be signed in to change notification settings - Fork 0
/
project_structure_purchase.puml
42 lines (39 loc) · 1.83 KB
/
project_structure_purchase.puml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
@startuml
!define RECTANGLE class
hide circle
hide empty members
' ENTITIES CREATION
' RECTANGLE UserCreation #lightblue
' RECTANGLE CreatorCreation #lightblue
' RECTANGLE EventCreation #lightblue
' TICKET PURCHASE
RECTANGLE TicketPurchase #lightblue
RECTANGLE RecommendationEngine #lemonchiffon
RECTANGLE TicketValidation #lemonchiffon
RECTANGLE FinancialValidation #lemonchiffon
RECTANGLE DeadLetter #white
RECTANGLE Recommendations #white
RECTANGLE InvalidMessage #white
' ALL
RECTANGLE NotificationEngine #lemonchiffon
RECTANGLE NotificationSender #white
' ENTITIES CREATION
' UserCreation -down-> NotificationEngine : "notification.producer.user.creation"
' CreatorCreation -down-> NotificationEngine : "notification.producer.creator.creation"
' EventCreation -down-> NotificationEngine : "notification.producer.event.creation"
' TICKET PURCHASE
TicketPurchase -down-> FinancialValidation : "ticketvalidation.financial"
TicketPurchase -down-> NotificationEngine : "notification.producer.ticketpayment.inprocess"
TicketPurchase -down-> InvalidMessage : "ticketvalidation.invalidmessage"
TicketPurchase -down-> TicketValidation : "ticketvalidation.completion"
TicketPurchase -down-> RecommendationEngine : "recommender.builder"
FinancialValidation -down-> TicketValidation : "ticketvalidation.completion"
FinancialValidation -down-> NotificationEngine : "notification.producer.ticketpayment.rejected"
TicketValidation -down-> NotificationEngine : "notification.producer.ticketpayment.approved"
TicketValidation -up-> DeadLetter : "ticketvalidation7.deadletter"
RecommendationEngine -up-> NotificationEngine : "notification.producer.recommendations"
RecommendationEngine -up-> Recommendations : "topic:user.recommendations"
NotificationEngine -down-> DeadLetter : "notification.deadletter"
' ALL
NotificationEngine -up-> NotificationSender : "notification.builder"
@enduml