42
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

HRBrainAdvent Calendar 2022

Day 8

mermaidを使って図を楽に作ろう!

Last updated at Posted at 2022-12-07

はじめに

この記事はHRBrain Advent Calendar 2022 カレンダー2の8日目の記事です。

こんにちは!株式会社HRBrainでエンジニアをしているZamaです。

プロダクト開発の様々な場面で色々なドキュメントを作成すると思いますが、正直大変だったり面倒くさかったりしますよね...
しかし実装前の認識合わせや既存の設計や機能の確認などにドキュメントは書いておいた方がいいのも事実。
そこでドキュメント作成において図を楽に追加できるmermaidを紹介します!

※以下の内容は2022年12月8日時点のものになります。

mermaidとは

mermaidとは、MarkdownにインスパイアされたJavaScriptベースのダイアグラム・チャート作成ツールです。
Markdownのコードブロック内に図をテキストとして書いていきます。
GitHubQiitaNotionは標準で対応していて、Visual Studio Codeには拡張機能があります。

百聞は一見に如かずということで、いくつか例を見ていきましょう!

フローチャート

まずはフローチャートです!
開発タスクのステータス遷移を作ってみました。
簡単かつ楽ですね。

上がMarkdown内の記述、下がそれを元に生成された図になります。

flowchart TD
    A[ToDo]--実装開始-->B[Implementing]
    B--実装完了 PR作成-->C[Waiting For Review]
    C--レビュー開始-->D[In Review]
    D--Approved テスト環境作成-->E[Ready To Test]
    E--テスト開始-->F[Testing]
    F--テストOK-->G[Tested]
    F--テストNG-->H[Test Failed]
    H--修正開始-->B
    G--PRマージ-->I[Done]

シーケンス図

次はシーケンス図です!
ユーザー登録時の処理の流れを簡単に作ってみました。
最初に登場人物を、それから処理をつらつらと書いていくだけです。

sequenceDiagram
    participant User
    participant App
    participant Server
    participant Database

    User->>App: ユーザー登録ページを開く
    App->>User: ユーザー登録フォームを表示する
    User->>App: メールアドレスとパスワードを入力し、登録ボタンを押す
    App->>Server: POST ユーザー登録API
    Server->>Database: Insert メールアドレス, パスワード
    Database->>Server: OK
    Server->>Server: ログイン処理
    Server->>App: 200 OK
    App->>User: ダッシュボードページを開く

ER図

最後の例はER図です。
会社 - 部署 - 従業員というモデルを作ってみました。
配置を自由にできないという問題はありますが、社内資料としては十分なレベルです。

erDiagram
    COMPANY ||--|{ DEPARTMENT: has
    EMPLOYEE ||--|{ COMPANY: belongsTo
    EMPLOYEE ||--|{ DEPARTMENT: belongsTo
    COMPANY {
        string name
        string address
        string telephoneNumber
    }
    DEPARTMENT {
        string name
    }
    EMPLOYEE {
        string firstName
        string lastName
        date birthDay
    }

その他

他にも以下のようなものがあります!
聞いたことがないものもありますね...

まとめ

Markdown内に図を作成できるmermaidをご紹介しました!
文章やリスト、テーブルだけでは表現に限界があるので、こういった図を追加できるとドキュメントがより良いものになりますね!
しかも簡単です!
また、テキストとして定義するので、Gitで管理すればバージョン管理や差分の確認もできます。
ぜひ業務で使ってみてください!

We are hiring!

株式会社HRBrainでは、Power to the peopleを合言葉に多種多様な人事課題を解決するプロダクトを開発・運営しています。
日本の労働環境を良くしてやるぜ!みんなが元気に活躍できる社会にしてやるぜ!
そんな熱い気持ちを持った方、一緒に働きませんか?
皆様のご応募をお待ちしております!

42
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
42
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?