Skip to content

yashsinha2512/java

 
 

Repository files navigation

Structurizr

Structurizr for Java

This GitHub repository is (1) a client library for the Structurizr cloud service and on-premises installation and (2) a way to create a Structurizr workspace using Java code. Looking for the Structurizr DSL instead?

A quick example

As an example, the following Java code can be used to create a software architecture model and an associated view that describes a user using a software system, based upon the C4 model.

public static void main(String[] args) throws Exception {
    Workspace workspace = new Workspace("Getting Started", "This is a model of my software system.");
    Model model = workspace.getModel();
    
    Person user = model.addPerson("User", "A user of my software system.");
    SoftwareSystem softwareSystem = model.addSoftwareSystem("Software System", "My software system.");
    user.uses(softwareSystem, "Uses");
    
    ViewSet views = workspace.getViews();
    SystemContextView contextView = views.createSystemContextView(softwareSystem, "SystemContext", "An example of a System Context diagram.");
    contextView.addAllSoftwareSystems();
    contextView.addAllPeople();
}

The view can then be exported to be visualised using the Structurizr cloud service/on-premises installation/Lite, or other formats including PlantUML, Mermaid, DOT, and WebSequenceDiagrams via the structurizr-export library.

Table of contents

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

Fork the Project

Create your Feature Branch (git checkout -b feature/AmazingFeature)

Commit your Changes (git commit -m 'Add some AmazingFeature')

Push to the Branch (git push origin feature/AmazingFeature)

Open a Pull Request

About

Hactoberfest-2022

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%