depict VS c4-notation

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

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
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
depict c4-notation
2 126
26 25
- -
6.6 10.0
12 months ago almost 5 years ago
Rust
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.

depict

Posts with mentions or reviews of depict. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-08-29.
  • A CSS-Inspired Syntax for Flowcharts
    5 projects | news.ycombinator.com | 29 Aug 2022
    One potential solution direction, which you can try out via my own incomplete drawing toy [1] is to treat punctuation characters like SP (“ “), COMMA (“,”), and SEMICOLON (“;”) as markers for the product operations of a family of monoids that allow you to specify more and more complicated sequences without requiring the typist to “move the cursor left” to add a matching character.

    This way, simple lists can be specified via juxtaposition:

    a b c

    And then more complex lists

    thing 1, thing 2, thing 3

    and still more complex lists like

    A complex thing; with data, and more data

    can be specified in a way that is potentially still human-legible and easily editable.

    Combined with ~instant feedback while typing and, ideally, a “brushing” system to allow selection of parts of the textual model via the linked drawing, I am hopeful that this can be solved resiliently, at least for the most common use cases.

    (Part of why I am excited about OP’s work here though is that while I have done a fair bit in my own project on drawing a related kind of diagrams, I have myself only begun thinking about how to make the resulting drawings nicely stylable/themeable.)

    [1] https://mstone.info/depict/ -> https://github.com/mstone/depict

  • Ask HN: Visualizing software designs, especially of large systems (if at all)?
    20 projects | news.ycombinator.com | 31 May 2022
    You might find it helpful to distinguish between visualizing the design of the system being implemented by your software, visualizing protocols being implemented by your software, visualizing the design of the your software itself, and visualizing important implementation details at runtime, e.g. for debugging, profiling, and operations.

    For visualizing system designs, you should take a look at STAMP, e.g., via “Engineering A Safer World” + the resources at mit.edu/psas + on YouTube.

    (Multiple tools, both commercial and libre, exist and are being developed to make these diagrams, although for what it’s worth, I mostly hear about people making them using draw.io, Google Drawings, on physical paper/whiteboards, or occasionally with specialized tooling.

    I have also recently published a project in this area, https://github.com/mstone/depict, which I believe is well on its way toward addressing some unmet needs here.)

    For visualizing protocols, things like sequence diagrams, data flow diagrams, DRAKON flow charts, value stream maps, and occasional more specialized objects like CPSA “cryptographic protocol shapes” / strand space skeletons are where I start depending on the flavor of what’s needed.

    For visualizing the design of implementations themselves, I have not yet seen anything that I feel obliged to recommend; rather, here, I suggest investing in adding illustrations to your existing documentation in whatever way is easiest for you to use to clarify whatever subtleties you need to clarify for your audience.

    (Here I tend to look at things like ASCII-art, SQLite’s railroad diagrams (now made with pikchr, AIUI), and sequence diagrams, as mentioned by other commenters, as helpful examples to start with.)

    Finally, for implementing debugging/profiling/operational illustrations, there is a such a rich set of examples to turn to — whether from the very specialized (custom process model video rendering pipelines in robotics) to TensorBoard for TensorFlow to general-purpose tools like browser performance debugging suites, flame charts, or Go’s built-in profile graphing tools - that rather than learn any particular such tools, I’d instead suggest trying to get comfortable with the building blocks underlying these systems, which include contemporary GUI/web apps, custom drawing and animation tools like SVG, pretty printers, and Grammar-of-Graphics systems like vega-lite.

    (Note: although it may seem superficially extraneous to your question, the reason I also suggest thinking about debugging visualizations in this context is because IMO, to work, they ~necessarily encode a visual model of the design of your implementation since it is the design of the implementation that provides the vocabulary and relationships that have to be understood and navigated in order to successfully debug/optimize/monitor any given running instance of whatever system you are building.)

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 depict and c4-notation you can also consider the following projects:

spekt8 - Visualize your Kubernetes cluster in real time

excalidraw - Virtual whiteboard for sketching hand-drawn like diagrams

ScrivanoForLinux - Scrivano is a notetaking application for handwritten notes.

backstage - Backstage is an open platform for building developer portals

shotglass - Tools to visualize large code bases in different ways.

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

Pythonocc-nodes-for-Ryven - Pythonocc nodes for Ryven

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

TypeScript-Call-Graph - CLI to generate an interactive graph of functions and calls from your TypeScript files

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

plurid - Explore Information as a 3D Structure

plantuml - Generate diagrams from textual description