All Projects → archifacts → archifacts

archifacts / archifacts

Licence: Apache-2.0 license
archifacts is a library to extract your architectural concepts out of your application's code

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to archifacts

archunit-junit5-kotlin
Generic Architecture Tests written in Kotlin using ArchUnit and Junit5
Stars: ✭ 22 (-45%)
Mutual labels:  architecture, archunit
archunit-examples
ArchUnit examples for a ports-and-adapters application architecture inside a Spring Boot book-catalog application
Stars: ✭ 31 (-22.5%)
Mutual labels:  architecture, archunit
Professional Programming
A collection of full-stack resources for programmers.
Stars: ✭ 15,936 (+39740%)
Mutual labels:  architecture
quality-requirements
Beispiele für Qualitätsanforderungen an Software (etwa: Zur Vereinfachung von ATAM-Analysen oder Quality-Driven Software Architecture)
Stars: ✭ 61 (+52.5%)
Mutual labels:  asciidoc
asciidoctor-katex
Asciidoctor extension for converting latexmath using KaTeX at build time
Stars: ✭ 16 (-60%)
Mutual labels:  asciidoc
fusionauth-site
Website and documentation for FusionAuth
Stars: ✭ 24 (-40%)
Mutual labels:  asciidoc
asciidoctor-htmlbook
Asciidoctor HTMLBook is an Asciidoctor backend for converting AsciiDoc documents to HTMLBook documents.
Stars: ✭ 31 (-22.5%)
Mutual labels:  asciidoc
Every Single Day I Tldr
A daily digest of the articles or videos I've found interesting, that I want to share with you.
Stars: ✭ 249 (+522.5%)
Mutual labels:  architecture
Coordinator
A drop-in, ready to use, collection of Coordinator protocols
Stars: ✭ 25 (-37.5%)
Mutual labels:  architecture
docs
ownCloud Documentation (v2)
Stars: ✭ 50 (+25%)
Mutual labels:  asciidoc
latex-awesomebox
A package to draw attention boxes in your documents, illustrated with FontAwesome icons (Mirror)
Stars: ✭ 33 (-17.5%)
Mutual labels:  asciidoc
hexo-renderer-asciidoc
Asciidoc renderer plugin for Hexo
Stars: ✭ 16 (-60%)
Mutual labels:  asciidoc
structurizr-python
A Python 3 port of Simon Brown's Structurizr diagrams-as-code architecture description tool.
Stars: ✭ 61 (+52.5%)
Mutual labels:  c4-model
eclipse-asciidoctor-editor
An eclipse editor for asciidoctor files
Stars: ✭ 45 (+12.5%)
Mutual labels:  asciidoc
modeloC4
📏Modelo C4 para documentação de arquiteturas
Stars: ✭ 75 (+87.5%)
Mutual labels:  c4-model
asciidoctor-rfc
AsciiRFC: an AsciiDoc/asciidoctor backend to produce RFC XML v3 (RFC 7991) and v2 (RFC 7749)
Stars: ✭ 14 (-65%)
Mutual labels:  asciidoc
Azure Plantuml
PlantUML sprites, macros, and other includes for Azure services
Stars: ✭ 247 (+517.5%)
Mutual labels:  architecture
link-verifier
A tool for verifying links in text-based files
Stars: ✭ 26 (-35%)
Mutual labels:  asciidoc
asciidocnet
AsciiDoc Processor for .NET
Stars: ✭ 33 (-17.5%)
Mutual labels:  asciidoc
deep-action-detection
Multi-stream CNN architectures for action detection with actor-centric filtering
Stars: ✭ 24 (-40%)
Mutual labels:  architecture

Build Maven Central License

archifacts is a free (Apache 2.0 license) library for describing and detecting architectural building blocks and their relationships in your Java applications.

archifacts heavily relies on ArchUnit which analyzes the Java bytecode. With the help of descriptors archifacts identifies building blocks, relationships and containers of your application and builds a model.

Having this model in place you can visualize your application's architecture or verify it against certain rules.

While we already have some support for the former, the latter is subject of future work.

Experimental API

Caution! archifacts is in a very early state. The API is not intended to be stable. We might introduce breaking changes at any time if we think it improves the overall user experience. Please be aware of this, if you decide to use archifacts.

Nevertheless we try to reduce the breaking changes to a minimum, but there is no guarantee.

Usage

Gradle

implementation 'org.archifacts:archifacts-core:0.3.0'

Maven

<dependency>
    <groupId>org.archifacts</groupId>
    <artifactId>archifacts-core</artifactId>
    <version>0.3.0</version>
</dependency>

How to get started

Take a look at our Fraktalio demo application example and Spring Restbucks example to get an idea about how to use archifacts.

Fraktalio

The project documents the Fraktalio demo application which is a Spring Boot and Axon Framework based microservice system, implemented in Java and Kotlin.

The generated documentation is deployed using GitHub Actions. You can find it here

Spring Restbucks

The project documents the Spring Restbucks application which is a Spring Boot and jMolecules based modulithic system, implemented in Java.

The generated documentation is deployed using GitHub Actions. You can find it here

Why is it called 'archifacts'?

archifacts is a made-up word out of architects, artifacts and facts.

architects who want to visualize or verify their architecture are the main target group of the library.

Every class, interface or enum in your application is treated as an artifact. Artifact is the common base class for all these elements and therefore the foundation of archifacts.

archifacts is all about facts as the model is extracted from bytecode. With this approach archifacts tackles outdated documentation. The model contents are facts.

How can I contribute?

The most helpful contribution in this early project phase is feedback. Feedback about bugs, missing features, misconceptions, successes, whatever. We would like to get in touch with the library's users to improve archifacts.

License

ArchUnit is published under the Apache License 2.0, see http://www.apache.org/licenses/LICENSE-2.0 for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].