기존에는 서비스 아키텍처, Sequence Diagram을 그리기 위해 draw.io나 Keynote를 사용했습니다. 두 가지 툴의 단점은 직접 선을 그리고, Text box를 지정해야 하기 때문에 작성하는데 상당한 시간이 소요되는 문제가 존재했습니다. draw.io나 keynote 외에도 python 언어를 지원하는 diagrams도 사용했었으나 live editing이 제한적이어서 사용상 불편함이 다수 존재했습니다.

개요

Diagram

Flowchart

https://mermaid.js.org/syntax/flowchart.html

flowchart TD
    A[Christmas] -->|Get money| B(Go shopping)
    B --> C{Let me think}
    C -->|One| D[Laptop]
    C -->|Two| E[iPhone]
    C -->|Three| F[fa:fa-car Car]

Sequence Diagram

https://mermaid.js.org/syntax/sequenceDiagram.html

sequenceDiagram
    Alice->>+John: Hello John, how are you?
    Alice->>+John: John, can you hear me?
    John-->>-Alice: Hi Alice, I can hear you!
    John-->>-Alice: I feel great!

Entity Relationship Diagram

https://mermaid.js.org/syntax/entityRelationshipDiagram.html

erDiagram
    CUSTOMER }|..|{ DELIVERY-ADDRESS : has
    CUSTOMER ||--o{ ORDER : places
    CUSTOMER ||--o{ INVOICE : "liable for"
    DELIVERY-ADDRESS ||--o{ ORDER : receives
    INVOICE ||--|{ ORDER : covers
    ORDER ||--|{ ORDER-ITEM : includes
    PRODUCT-CATEGORY ||--|{ PRODUCT : contains
    PRODUCT ||--o{ ORDER-ITEM : "ordered in"

Gitgraph Diagram

https://mermaid.js.org/syntax/gitgraph.html