Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/shubhamgrg04/awesome-diagramming

A curated collection of diagramming tools used by leading software engineering teams
https://github.com/shubhamgrg04/awesome-diagramming

List: awesome-diagramming

awesome-list diagram uml

Last synced: about 2 months ago
JSON representation

A curated collection of diagramming tools used by leading software engineering teams

Awesome Lists containing this project

README

        

# Awesome Diagramming [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)

A curated list of awesome diagramming tools available for software engineering teams. Feel free to contribute to this on-going list.

### **When diagrams are useful?**
Diagrams are faster and compact way for knowledge transfer. It's much easier to convey system architechture with a diagram compared to writing an essay on it.

Diagrams are especially useful in providing high level overview of software design. Following are the most-widely used diagrams by engineering teams:
- **Sequence diagram** - to visualize interaction between different components in a sequential order
- **System architecture diagram** - to visualize system architecture
- **ER diagram** - to visualize data models
- **Gantt diagram** - used for project planning and timeline estimation

### **Factors to consider before choosing the diagramming tool**
- Free / Freemium / Paid
- Open source or Closed source
- Ease of use
- Diagram as code vs Hand drawn
- Visual Appearance - Modern / Minimalistic / Outdated / Hand-drawn

### **General Purpose (flexible for all kinds of diagrams)**
* [Kroki](https://kroki.io/) (Free, Open Source, Diagram as code, Ease of use - Easy, Visual Appearance - Flexible).
Examples - [Link](https://kroki.io/examples.html)

* [Mermaid](https://mermaid-js.github.io/mermaid/) (Free, Open Source, Diagram as code, Ease of use - Easy, Visual Appearance - Modern).
Examples - [Link](https://mermaid-js.github.io/mermaid/#/examples)

* [Excalidraw](https://excalidraw.com/) (Freemium, Open Source, Hand drawn, Ease of use - Easy, Visual Appearance - Hand-drawn).
Examples - [Link]()

* [PlantUML](https://plantuml.com/) (Free, Open Source, Diagram as code, Ease of use - Intermediete, Visual Appearance - Outdated)
Examples - [Link](https://plantuml.com/), [Link](https://real-world-plantuml.com/)

* [Draw.io](http://draw.io/) (Free, Open Source (But Closed To Contribution), Hand drawn, Ease of use - Moderate, Visual Appearance - Modern).
Examples - [Link](https://www.diagrams.net/example-diagrams)

* [Nomnoml](https://www.nomnoml.com/) (Free, Open Source, Diagram as code. Ease of use - Easy, Visual Apperance - Minimalistic).
Examples - [Link](https://www.nomnoml.com/)

* [Diagram.codes](https://playground.diagram.codes/) (Freemium, Closed Source, Diagram as code, Ease of use - Easy, Visual Appearance - Outdated).
Examples - [Link](https://playground.diagram.codes/)

* [Lucidchart](https://www.lucidchart.com/) (Paid, Closed Source, Hand drawn, Ease of use - Easy, Visual Appearance - Modern).
Examples - [Link](https://www.lucidchart.com/pages/tour)

* [Blockdiag](http://blockdiag.com/) (Free, Open Source, Diagram as code, Ease of use - Easy, Visual Appearance - Outdated).
Exampes - [Link](http://blockdiag.com/en/blockdiag/examples.html)

Others - [Miro](https://miro.com/), [Gliffy](https://www.gliffy.com/), [Inkscape](https://inkscape.org/), [Plectica](https://www.plectica.com/), [Whimsical](https://whimsical.com/), [ZenUML](https://zenuml.com/), [Gleek](https://www.gleek.io/), [Structurizr](https://structurizr.com/dsl), [StarUML](https://staruml.io/)

### **Sequence diagram**
- [Swimlanes](https://swimlanes.io/) (Free, Closed Source, Ease of use - Easy, Visual Appearance - Modern)
Examples - [Link](https://diagrams.mingrammer.com/docs/getting-started/examples)

Others - [Websequencediagrams](https://www.websequencediagrams.com/), [Sequencediagram.org](https://sequencediagram.org/)

### **System design diagram**
> **Essential readings**
[C4 Model](https://c4model.com/), [5 types of architecture diagrams](https://www.readysetcloud.io/blog/allen.helton/the-5-types-of-architecture-diagrams/)
- [Diagrams](https://diagrams.mingrammer.com/) (Free, Open Source, Ease of use - Easy, Visual Appearance - Modern).
Examples - [Link](https://diagrams.mingrammer.com/docs/getting-started/examples)

- [Terrastruct](https://terrastruct.com/) (Paid, Closed Source, Ease of use - Easy, Visual Appearance - Modern)
Examples - [Link](https://terrastruct.com/examples/1/)

- [IcePanel](https://icepanel.io/) (Paid, Closed Source, Hand drawn, Ease of use - Easy, Visual Appearance - Modern)
Examples - [Link](https://s.icepanel.io/vmHvBHr4BeMEOa/iyAG)

- [Lucidscale](https://lucidscale.com/) (Paid, Closed Source, Ease of use - Intermediete, Visual Appearance - Modern).
Examples - [Link](https://lucidscale.com/tutorial)

Others - [Ilograph](https://www.ilograph.com/), [Omnigraffle](https://sequencediagram.org/), [Cloudcraft](https://www.cloudcraft.co/), [CloudSkew](https://www.cloudskew.com/)

### **ER diagram**

> **Essential Readings**
[How to choose your ERD?](https://azimutt.app/blog/how-to-choose-your-entity-relationship-diagram)

- [DbDiagram](https://dbdiagram.io) (Freemium, Closed Source, Ease of use - Easy, Visual Appearance - Modern)
Examples - [Link](https://hackernoon.com/dbdiagram-io-a-database-diagram-designer-built-for-developers-and-analysts-975f310d4f13)

- [Azimutt](https://azimutt.app/) (Free, Open Source, Ease of use - Easy, Visual Appearance - Modern).
Examples - [Link](https://azimutt.app/blog/how-to-explore-your-database-schema-with-azimutt)
> `Azimutt` is useful when you want to visualize existing database

- [QuickDBD](https://app.quickdatabasediagrams.com/) (Free, Closed Source, Ease of use - Easy, Visual Appearance - Modern).
Examples - [Link](https://www.quickdatabasediagrams.com/quickdbd-as-mysql-design-tool/)

Others - [DrawSql](https://drawsql.app/), [ERD Plus](https://erdplus.com/), [Creately](https://creately.com/lp/er-diagram-tool-online/), [SqlDBM](https://sqldbm.com/Home/)

### **Gantt Chart**
- [Markwhen](https://markwhen.com/) (Free, [Open Source](https://github.com/kochrt/markwhen), Ease of use - Easy, Visual Appearance - Minimalist)
Examples - [Link](https://markwhen.com/rob/wedding)

### **Other good curated collections of diagramming tools**
- https://github.com/sw-yx/spark-joy/blob/master/README.md#diagramming
- https://xosh.org/text-to-diagram/