https://github.com/franckrasolo/archunit-to-konsist
A comparison of ArchUnit and Konsist for implementing software architecture rules.
https://github.com/franckrasolo/archunit-to-konsist
architectural-patterns architecture-rules archunit archunit-junit5 comparison hexagonal-architecture konsist kotlin ports-and-adapters
Last synced: 8 months ago
JSON representation
A comparison of ArchUnit and Konsist for implementing software architecture rules.
- Host: GitHub
- URL: https://github.com/franckrasolo/archunit-to-konsist
- Owner: franckrasolo
- License: mit
- Created: 2024-09-18T17:11:23.000Z (about 1 year ago)
- Default Branch: trunk
- Last Pushed: 2025-01-10T16:35:08.000Z (10 months ago)
- Last Synced: 2025-02-24T03:14:32.899Z (8 months ago)
- Topics: architectural-patterns, architecture-rules, archunit, archunit-junit5, comparison, hexagonal-architecture, konsist, kotlin, ports-and-adapters
- Language: Kotlin
- Homepage:
- Size: 215 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Architecture Rules in Kotlin: from ArchUnit to Konsist
[](https://github.com/JetBrains/kotlin/releases/tag/v2.1.0)
[](https://docs.gradle.org/8.11.1/release-notes.html)
[](https://mvnrepository.com/artifact/com.tngtech.archunit/archunit/1.3.0)
[](https://mvnrepository.com/artifact/com.lemonappdev/konsist/0.17.3)
[](https://github.com/franckrasolo/archunit-to-konsist/blob/trunk/LICENSE)A super simple Kotlin / Gradle project used for a side-by-side comparison of
[ArchUnit](https://www.archunit.org/about) and [Konsist](https://docs.konsist.lemonappdev.com/)
when implementing rules of the _Ports & Adapters_ architectural pattern.## Documentation
### ArchUnit
- [Why test your architecture?](https://www.archunit.org/motivation)
- [User Guide](https://www.archunit.org/userguide/html/000_Index.html)
- [Architectures](https://www.archunit.org/userguide/html/000_Index.html#_architectures)### Konsist
- [Architecture Assertion](https://docs.konsist.lemonappdev.com/writing-tests/architecture-assert)
- [Architecture Snippets](https://docs.konsist.lemonappdev.com/inspiration/snippets/architecture-snippets)
- [Clean Architecture Snippets](https://docs.konsist.lemonappdev.com/inspiration/snippets/clean-architecture-snippets)## Additional Resources
- Design Accelerator: Ports and Adapters Architecture,
[Part 1](https://youtu.be/TC4e0hokDB8) | [Part 2](https://youtu.be/V4nj8MXUv5k) |
[Part 3](https://youtu.be/UpesTQhQhTE) – Vaughn Vernon
- [What's Hexagonal Architecture?](https://medium.com/@luishrsoares/whats-hexagonal-architecture-6da22d4ab600)
_Separating Business Logic From Infrastructure With Ports and Adapters_
- [Hexagonal Architecture Explained](https://www.arhohuttunen.com/hexagonal-architecture/)[](#additional-resources)
- [ArchUnit vs. Konsist. Why Did We Need Another Kotlin "Linter"? – Igor Wojda](https://proandroiddev.com/archunit-vs-konsist-why-did-we-need-another-linter-972c4ff2622d)
- [ArchUnit vs Konsist in Android (Kotlin-oriented) codebase. A comparison of hidden implementation checks. – Bartek Twaróg](https://medium.com/the-house-of-code/archunit-vs-konsist-in-android-kotlin-oriented-codebase-b72c6c698b0b)
- [Protect Kotlin Project Architecture Using Konsist – Igor Wojda](https://proandroiddev.com/protect-kotlin-project-architecture-using-konsist-3bfbe1ad0eea)
- [Stop Debating in Code Reviews. Start Enforcing with Lint Rules – Stelios Frantzeskakis](https://proandroiddev.com/stop-debating-in-code-reviews-start-enforcing-with-lint-rules-6632c907ea94)[](#additional-resources)
- [A Tour Through Konsist with Igor Wojda – Dave Leeds](https://youtu.be/AlYTvzwZOc4)
- [Harmonizing Kotlin codebases with Konsist – Natalia Peterwas, Igor Wojda at KotlinConf 2024](https://youtu.be/3qbKYSI1u1k)
- [Maintain consistency in your Kotlin Codebase with Konsist! – Charfaoui Younes](https://youtu.be/WrGuZ9fgWBg)