Skip to content

Latest commit

 

History

History
43 lines (32 loc) · 1.98 KB

README.md

File metadata and controls

43 lines (32 loc) · 1.98 KB

Fucturizr

A DSL for f#cking around with Structurizr.

Build status MyGet CI NuGet CI

Features

  • Types to describe diagrams
  • Serialize to JSON
  • Deserialize from JSON
  • High-level strongly typed DSL for defining diagrams
  • Low level data structure that interops with Structurizr .NET
  • Styles
  • Export to Graphviz
  • Export to Structurizr.Dgml
  • Other export formats...

Sample diagram definition

Below is the definition of a landscape diagram. See the script file example of using this to generate the Structurizr json.

let contract_management_landscape_diagram =
    system_landscape_diagram "Contract Management" "A test description" Size.A5_Landscape {
        user (A.person "Buyer" "Negotiates policies with suppliers and orders..." (730,230))
        system (A.system "Acme Contract Management System" "Manages contracts negotiated with suppliers" (705,830))
        relationship "Buyer" "Captures contracts" "Acme Contract Management System"
    }

This results in the following json that can then be used to generate the landscape diagram.

Contract Management System Landscape Diagram

Links

  1. C4 Diagrams
  2. Structurizr Express
  3. Structurizr.Dgml
  4. Graphviz