Giter Site home page Giter Site logo

awesome-diagramming's Introduction

Awesome Diagramming 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 (Free, Open Source, Diagram as code, Ease of use - Easy, Visual Appearance - Flexible).
    Examples - Link

  • Mermaid (Free, Open Source, Diagram as code, Ease of use - Easy, Visual Appearance - Modern).
    Examples - Link

  • Excalidraw (Freemium, Open Source, Hand drawn, Ease of use - Easy, Visual Appearance - Hand-drawn).
    Examples - Link

  • PlantUML (Free, Open Source, Diagram as code, Ease of use - Intermediete, Visual Appearance - Outdated)
    Examples - Link, Link

  • Draw.io (Free, Open Source (But Closed To Contribution), Hand drawn, Ease of use - Moderate, Visual Appearance - Modern).
    Examples - Link

  • Nomnoml (Free, Open Source, Diagram as code. Ease of use - Easy, Visual Apperance - Minimalistic).
    Examples - Link

  • Diagram.codes (Freemium, Closed Source, Diagram as code, Ease of use - Easy, Visual Appearance - Outdated).
    Examples - Link

  • Lucidchart (Paid, Closed Source, Hand drawn, Ease of use - Easy, Visual Appearance - Modern).
    Examples - Link

  • Blockdiag (Free, Open Source, Diagram as code, Ease of use - Easy, Visual Appearance - Outdated).
    Exampes - Link

Others - Miro, Gliffy, Inkscape, Plectica, Whimsical, ZenUML, Gleek, Structurizr, StarUML

Sequence diagram

  • Swimlanes (Free, Closed Source, Ease of use - Easy, Visual Appearance - Modern)
    Examples - Link

Others - Websequencediagrams, Sequencediagram.org

System design diagram

Essential readings
C4 Model, 5 types of architecture diagrams

  • Diagrams (Free, Open Source, Ease of use - Easy, Visual Appearance - Modern).
    Examples - Link

  • Terrastruct (Paid, Closed Source, Ease of use - Easy, Visual Appearance - Modern)
    Examples - Link

  • IcePanel (Paid, Closed Source, Hand drawn, Ease of use - Easy, Visual Appearance - Modern) Examples - Link

  • Lucidscale (Paid, Closed Source, Ease of use - Intermediete, Visual Appearance - Modern).
    Examples - Link

Others - Ilograph, Omnigraffle, Cloudcraft, CloudSkew

ER diagram

Essential Readings
How to choose your ERD?

  • DbDiagram (Freemium, Closed Source, Ease of use - Easy, Visual Appearance - Modern)
    Examples - Link

  • Azimutt (Free, Open Source, Ease of use - Easy, Visual Appearance - Modern).
    Examples - Link

    Azimutt is useful when you want to visualize existing database

  • QuickDBD (Free, Closed Source, Ease of use - Easy, Visual Appearance - Modern).
    Examples - Link

Others - DrawSql, ERD Plus, Creately, SqlDBM

Gantt Chart

Other good curated collections of diagramming tools

awesome-diagramming's People

Contributors

alphagit avatar denis-roy avatar jknappe avatar shubhamgrg04 avatar victorleach96 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-diagramming's Issues

Want to contribute a link to gituml.com

Hi - thanks for this resource.

I want to contribute a link to www.gituml.com which generates UML class libraries by reverse engineering various language source code on GitHub.

Although it uses PlantUML underneath the hood, it encourages the use of Literate Code Maps which differ from UML diagrams in that they focus on real source code fragments and lots of rich-text formatted story-telling narrative. They combine class and sequence diagrams into the same diagram, offering step by step numbering to follow the behaviour of a use case story.

Not sure if contributing this link (disclaimer, I am the author) is appropriate for this list. Perhaps a new area for reverse engineering diagram tools?

StarUML ๐Ÿคฉ

When I was a student at Kansas State University my Software Arch professor swore by StarUML and I've been a believer ever since.

It ain't pretty but it's by far the most complete UML app I've ever seen, it's got every diagram type under the sun and a nice little plugin community.

I often use it when designing multi-service features or flows using Communication Diagrams, which is like a seq diagram for visual people - very highly underrated diagram type.

Add Ditaa to the list

I've had great results with Ditaa, and I really like the fact that the diagrams can also be viewed directly as inline asciiart without a separate rendering step. IMO that makes the documentation easier to work with for developers, while still having the option to render a prettier version.

https://github.com/stathissideris/ditaa#readme

TikZ deserves a place here

TikZ is by a long shot the most powerful language for diagraming if you are willing to learn it ๐Ÿค“.

structurizr...

... deserves more visibility :-)

It's IMHO the best tool for C4 diagrams. You don't design, but model. You can even introspect your code and generate the diagrams from them.

Add NextSketch for IntelliJ Platform

Hello!

I think NextSketch for IntelliJ Platform would be a good addition to this list since it provides diagramming capabilities.
www.nextsketch.ca

(disclosure: I'm the author and it is paid) but I think this addition would be useful to devs

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.