spring-projects / spring-projects/spring-modulith
Create Sonargraph architecture model from Spring Modulith's application module model
@odrotbohm is already working on this.
Since Feb 7, 2025.
- Dominant language
- Java
- Stars
- 1.2k
- Forks
- 222
- PR merge metrics
- No merged PRs in 30d
Description
Sonargraph is a software quality tool that heavily inspired practices enforced by Spring Modulith. It allows architects to define an intended architecture, verify that against a codebase, perform virtual refactorings and (visually) explore the effects on the architectural quality of those.
Working with Sonargraph usually starts with defining the logical architecture in a DSL. With Spring Modulith in place, a lot of the structural information needed for that can be found in the codebase itself. We could allow creating such a skeleton architectural description through the Documenter API and inspect our ApplicationModules.
artifact $module.displayName {
include $asPath($module.basePackage)
// For each nested module
exclude $asPath($nestedmodule.basePackage)
// For each named interface
interface $ni.name {
/For each type
include $type
}
}
I guess we could also register all allowed dependencies declared by application modules or fallback to the currently existing ones if none are declared explicitly.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.