はじめに
こんばんは。
最近 mermaid 書くのにはまっています。
今までは ER図は tbls で シーケンス図は PlantUML を使ってたんですが、全部 mermaid使ってます。
githubが判断してくれるのがありがたいですよね。
本題
mermaidで僕が現在使っているのは、ER図、フローチャート図、シーケンス図です。
ER図
%%{init:{'theme':'default'}}%%
erDiagram
users {
integer id PK "ユーザーID"
string email "メールアドレス"
string password "パスワード"
}
users ||--|| user_profiles : "1:1"
user_profiles {
integer user_id FK "ユーザーID"
string name "ユーザー名"
string tel "電話番号"
integer gender "性別"
date birthday "誕生日"
string postal_code "郵便番号"
string address "住所詳細"
}
items {
integer id PK "アイテムID"
string name "アイテム名"
}
tags {
integer id PK "タグID"
string name "タグ名"
}
items ||--|{ item_tags: "1:N"
tags ||--|{ item_tags: "1:N"
item_tags {
integer item_id FK "アイテムID"
integer tag_id FK "タグID"
}
orders }|--|| users: "N:1"
orders }|--|| items: "N:1"
orders {
integer id PK "オーダーID"
integer user_id FK "ユーザーID"
integer item_id FK "アイテムID"
}

フローチャート図
%%{init:{'theme':'forest'}}%%
flowchart TD
A[注文実行] --> B{リピーターかどうか}
B -->|リピーター| C[10%OFFクーポン配布]
C --> D[決済実行]
B -->|初回| E[5%OFFクーポン配布]
E --> D

シーケンス図
sequenceDiagram
autonumber
participant user as ユーザー
participant site as サイト
participant api as 決済API
rect rgb(100, 100, 100)
user ->>+ site: 注文実行
site ->>+ api: 決済実行
api ->>+ site: 決済OK
site ->>+ site: 注文確定
site ->>+ user: 注文完了ページ
end

終わりに
マジでかんたんでこういうの書くハードルが下がりました。
クラス図とかもかけるっぽいんで、今後積極的に書いていきたいです。
現場からは以上です。