dagre VS c4-notation

Compare dagre vs c4-notation and see what are their differences.

dagre

Directed graph layout for JavaScript (by dagrejs)

c4-notation

Technical resources for using the C4 model for visualizing software architecture. (by 1and1)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
dagre c4-notation
8 126
4,332 25
1.9% -
8.6 10.0
25 days ago almost 5 years ago
JavaScript
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

dagre

Posts with mentions or reviews of dagre. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-23.
  • D2 Playground
    5 projects | news.ycombinator.com | 23 Mar 2024
    It was unmaintained for a long time (maybe considered done implementing the algorithm it set out to), but recently a Google engineer has revived it: https://github.com/dagrejs/dagre
  • Show HN: Databasediagram.com – Private, Text to Entity-Relationship Diagram Tool
    7 projects | news.ycombinator.com | 8 Jun 2023
    The issue I have with a lot of these tools is they work fine when depicting relationships between tables in the same schema (talking mainly about PostgreSQL databases), but few support showing relationships between tables across different schemas.

    Also, when the number of tables grows large, few have layouts arranged in an optimal way. I use D2 (https://d2lang.com/) to create ERDs. However, of the free layout engines available in D2, Dagre (https://github.com/dagrejs/dagre) and ELK (https://github.com/eclipse/elk) both don't have optimal placement of layouts for a sufficiently complicated database.

  • Captain of Industry Calculator/Factory Planner
    1 project | /r/captain_of_industry | 12 Apr 2023
    You are right, after a bit of searching found nice library: https://github.com/dagrejs/dagre and couple of others. Maybe will try it out.
  • Chart Flows with grouped sub nodes
    1 project | /r/react | 14 Mar 2023
    I am using ReactFlow with Dagre to create reasonably simple graph flows as the following example:
  • Ask HN: Are There Any Layered Graph Layout Algorithms in Active Development?
    3 projects | news.ycombinator.com | 20 Feb 2023
    Hello,

    I've been researching layered graph algorithms, but it appears that this market is mostly inactive at the moment.

    Dagre (https://github.com/dagrejs/dagre) is considered outdated, with a codebase from 2015 that is no longer being updated, although they still accept some pull requests.

    KLAY (https://github.com/kieler/klayjs) has been succeeded by ELK, and development stopped in 2016.

    ELK (https://github.com/kieler/elkjs) is currently being developed by the KIELER Project, mostly by students and professors, written in Java. They are doing a great job, but the library is written in Java and then transpiled to JavaScript. They also rely on students for help with the development, which makes progress slow.

    Do you happen to know of any new projects that are actively addressing this problem?

  • D2 is now open source – a new, modern language that turns text to diagrams
    34 projects | news.ycombinator.com | 22 Nov 2022
    dagrejs has a section on "Recommended Reading" which lists which algorithms from which papers they implement.

    https://github.com/dagrejs/dagre/wiki#recommended-reading

  • D2: A new declarative language to turn text into diagrams
    13 projects | news.ycombinator.com | 30 Aug 2022
    Terrastruct engineer here. The visualization will be open source though I can't say for sure yet whether it'll be with our layout algorithm or with https://github.com/dagrejs/dagre.
  • Graphviz project for Flutter
    2 projects | /r/FlutterDev | 3 Oct 2021
    Another option is Dagre which is apparently now abandoned.

c4-notation

Posts with mentions or reviews of c4-notation. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-05-01.
  • Ask HN: Guidelines for making clear architecture diagrams
    3 projects | news.ycombinator.com | 1 May 2024
    Second this.

    Reference for anyone looking I to it: https://c4model.com/

    There is also quite a lot of options for helping create these diagrams. I've found https://structurizr.com/ to be the best of what I've tried so far.

  • Show HN: Flyde – an open-source visual programming language
    12 projects | news.ycombinator.com | 7 Mar 2024
    What you are describing sounds a lot like C4: https://c4model.com/
  • Ask HN: How do you document complex software systems?
    1 project | news.ycombinator.com | 22 Feb 2024
    The C4 model [0] provides a mostly sensible structure and techniques for representing pure software systems across different abstraction levels.

    For systems involving software and hardware, or other complex interfacing (both technology and bureaucracy) this starts to delve into the universe of systems engineering. There's a decent assembly of knowledge on that in the SEBoK [1].

    As another commenter has already called out too, one of the most valuable sources of information is also _why_ a system is in its current form and _how_ that's changed over time. ADR's [2] really do a good job at nailing this for just about any scale.

    [0]: https://c4model.com

    [1]: https://sebokwiki.org

    [2]: https://adr.github.io

  • A View on Functional Software Architecture
    5 projects | dev.to | 10 Dec 2023
    There a various standards for documenting software architecture, like arc42 or C4. While useful and somewhat well-known (there is certainly a correlation here), here architecture documentation can be further simplified, particularly due to the self-similarity of project and component. Following is a small template, that can also serve as a project's and component's README:
  • The C4 model for visualising software architecture
    1 project | /r/coding | 24 Oct 2023
    1 project | news.ycombinator.com | 22 Oct 2023
  • Inkscape Cloud Architect
    4 projects | news.ycombinator.com | 19 Oct 2023
    I would suggest that if your architecture diagrams are a bunch of icons provided by AWS/Azure/GCP with lines pointing at each other... you are doing it wrong.

    The 'what does this box do for my system' is vastly more important than the 'which in vogue offering from my cloud provider implements it'.

    I highly suggest folks take a look at the C4 Model: https://c4model.com/

  • What do you wish business folks knew about UML?
    1 project | /r/SoftwareEngineering | 7 Sep 2023
  • How to create interactive zoomable software architecture diagrams
    1 project | dev.to | 5 Sep 2023
    We often use abstractions in software engineering to communicate complex architectures and software systems. In this article, we’ll discuss how abstractions are inherently hierarchical and how the C4 model provides a nested structure for defining your software architecture. We’ll then cover how IcePanel allows you to create interactive and zoomable diagrams for your audience to zoom in and out of different levels of technical detail.
  • Architecture diagrams enable better conversations
    11 projects | news.ycombinator.com | 22 Aug 2023
    You probably want https://c4model.com/ which explains what a C4 architecture diagram is. (See the first footnote in the article.)

What are some alternatives?

When comparing dagre and c4-notation you can also consider the following projects:

elkjs - ELK's layout algorithms for JavaScript

excalidraw - Virtual whiteboard for sketching hand-drawn like diagrams

dagre-d3 - A D3-based renderer for Dagre

backstage - Backstage is an open platform for building developer portals

obsidian-graphviz - Graphviz plugin for obsidian md.

C4-PlantUML - C4-PlantUML combines the benefits of PlantUML and the C4 model for providing a simple way of describing and communicate software architectures

text-to-diagram-site - Compare syntax, layouts, outputs between languages for generating diagrams with text.

mermaid - Generation of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown

poap - ⛔️ DEPRECATED - Proof Of Attendance Protocol

pumla - pumla - systematic re-use of model elements described with PlantUML

elk - Eclipse Layout Kernel - Automatic layout for Java applications.

plantuml - Generate diagrams from textual description