-
Notifications
You must be signed in to change notification settings - Fork 490
Expand file tree
/
Copy path05-building-blocks-L1.puml
More file actions
66 lines (54 loc) · 1.4 KB
/
Copy path05-building-blocks-L1.puml
File metadata and controls
66 lines (54 loc) · 1.4 KB
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
@startuml 05-building-blocks-L1
skinparam componentStyle rectangle
skinparam defaultTextAlignment center
skinparam linetype ortho
skinparam package {
BackgroundColor #F8F8F8
BorderColor #999999
}
skinparam nodesep 60
skinparam ranksep 180
package "Frontend" {
[WebApp\n(ASP.NET Core MVC)] as WebApp
}
package "Web APIs" {
[Customer\nMgmt API\n(CRUD)] as CustomerAPI
[Vehicle\nMgmt API\n(CRUD)] as VehicleAPI
[Workshop\nMgmt API\n(DDD + ES)] as WorkshopAPI
}
package "Infrastructure" {
database "RabbitMQ" as RabbitMQ
database "SQL Server" as SQLServer
}
package "Background Services" {
[Time\nService] as TimeService
[Workshop Mgmt\nEvent Handler] as WorkshopEH
[Notification\nService] as Notification
[Invoice\nService] as Invoice
[Auditlog\nService] as Auditlog
}
package "Tools" {
[MailDev\n(SMTP)] as MailDev
[Seq\n(Logging)] as Seq
}
WebApp --> CustomerAPI : HTTP/Refit
WebApp --> VehicleAPI : HTTP/Refit
WebApp --> WorkshopAPI : HTTP/Refit
CustomerAPI --> RabbitMQ
VehicleAPI --> RabbitMQ
WorkshopAPI --> RabbitMQ
TimeService --> RabbitMQ
RabbitMQ --> WorkshopEH
RabbitMQ --> Notification
RabbitMQ --> Invoice
RabbitMQ --> Auditlog
CustomerAPI --> SQLServer
VehicleAPI --> SQLServer
WorkshopAPI --> SQLServer
WorkshopEH --> SQLServer
Notification --> SQLServer
Invoice --> SQLServer
Auditlog --> SQLServer
Notification --> MailDev
Invoice --> MailDev
@enduml