@startuml
title Diagram title
...content...
@enduml
actor User
participant "Web App" as App
participant API
User -> App: Sign in
App -> API: POST /login
API --> App: 200 OK
App --> User: Signed in
class Order {
+id: UUID
+total(): Money
}
class Customer
Customer "1" -- "many" Order
left to right direction
actor Customer
rectangle Shop {
(Browse items) as B
(Checkout) as C
}
Customer --> B
Customer --> C
start
:Collect order;
if (In stock?) then (yes)
:Ship item;
else (no)
:Backorder;
endif
stop
component "Web" as Web
component "Auth Service" as Auth
database "Users" as DB
Web --> Auth
Auth --> DB
[*] --> Draft
Draft --> Review
Review --> Approved
Review --> Draft : Rework
Approved --> [*]
note right of App
Critical path
end note
skinparam shadowing false
skinparam backgroundColor #ffffff
@startuml
object Alice {
name = "Alice"
age = 30
}
object Bob {
name = "Bob"
}
Alice -- Bob : knows
@enduml
@startuml
entity Customer {
*id : UUID <>
--
name : TEXT
email : TEXT
}
entity Order {
*id : UUID <>
--
*customer_id <>
total : DECIMAL
}
Customer ||--o{ Order : places
@enduml
@startuml
node "Load Balancer" as LB
node "App Server 1" as AS1
node "App Server 2" as AS2
database "Primary DB" as DB
LB --> AS1
LB --> AS2
AS1 --> DB
AS2 --> DB
@enduml
@startuml
robust "Server" as S
concise "Client" as C
@0
S is Idle
C is Idle
@100
C is Waiting
S is Processing
@300
S is Idle
C is Done
@enduml
@startgantt
title Project Timeline
[Design] lasts 5 days
[Development] lasts 10 days
[Development] starts after [Design]'s end
[Testing] lasts 3 days
[Testing] starts after [Development]'s end
@endgantt
@startmindmap
* Project
** Planning
*** Requirements
*** Timeline
** Development
*** Frontend
*** Backend
** Testing
@endmindmap
@startsalt
{+
Login
==
Username: | " "
Password: | " "
[Cancel] | [ OK ]
}
@endsalt
@startjson
{
"name": "Alice",
"age": 30,
"roles": ["admin", "user"],
"address": {
"city": "Amsterdam"
}
}
@endjson