ingogriebsch / bricks

Bricks is a framework that allows you to create automated documentation about an application and its components

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bricks

Build Status Codecov Status Codacy Status DepShield Status License

Bricks is a framework that allows you to create automated documentation about an application and its components. The framework is easy to integrate and offers maximum flexibility to document any type of application.

Tools like Structurizr, CodeScene or Arc42 are very powerful, but cost money and / or require a lot of training. That's why we wanted to create an easy to use alternative that is flexible and easy to customize and expand.

Our primary goals are:

  • Build documentation based on conventions and largely generated information.
  • Storage of the generated documentation together with the component itself.
  • An easy to extend framework to document different types of applications (monolithic, microservice based).
  • Offer visualization of the collected information in the form of a dashboard and documents that can be reused offline.

Modules

The project consists of the following modules:

  • bricks-model contains the base model. It provides the abstract description of an application and its components. The definition of the model follows a concrete idea of ​​what information is needed to describe an application and its components. Nevertheless, it tries to be as flexible and expandable as possible.
  • bricks-converter contains code to convert the model from/to a raw format (like json, yaml, binary or proprietary).
  • bricks-discover contains all the necessary parts to discover parts of a component based on source code, build and meta information.
  • bricks-maven-plugin includes a Maven plugin that allows for the repetitive creation of documentation during the components build process.
  • bricks-assemble contains all the necessary parts to collect the generated documentation from different 'places' and make it available as a data model.
  • bricks-analyze contains code to analyze the model and to calculate or aggregate certain aspects.
  • bricks-visualize contains visualization code for the model. This includes the output of the documentation as svg, ppt, pdf and other formats.
  • bricks-dashboard contains a Spring Boot application that processes and displays the generated components of an application and its components.
  • bricks-example contains examples that make certain use cases clearer.

License

This code is open source software licensed under the Apache 2.0 License.

About

Bricks is a framework that allows you to create automated documentation about an application and its components

License:Apache License 2.0


Languages

Language:Java 97.1%Language:FreeMarker 2.5%Language:CSS 0.2%Language:JavaScript 0.2%