├── .gitattributes ├── .gitignore ├── LICENSE ├── README.md ├── architecture.puml ├── docker-compose.yml ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src ├── main ├── java │ └── com │ │ └── company │ │ └── app │ │ ├── adapters │ │ ├── primary │ │ │ └── web │ │ │ │ ├── BookController.java │ │ │ │ ├── BookPojo.java │ │ │ │ ├── JsonConfiguration.java │ │ │ │ └── LegacyBooksApi.java │ │ └── secondary │ │ │ └── mongodb │ │ │ ├── BookDocument.java │ │ │ ├── BooksRepository.java │ │ │ ├── MongoBooksRepository.java │ │ │ └── MongoConfiguration.java │ │ ├── application │ │ ├── BookCatalogApplication.java │ │ └── usecases │ │ │ ├── AddBookUseCase.java │ │ │ └── FindBooksUseCase.java │ │ └── domain │ │ ├── model │ │ ├── Author.java │ │ ├── Book.java │ │ ├── Isbn.java │ │ └── Title.java │ │ └── services │ │ └── BookDomainService.java └── resources │ ├── application.properties │ └── archunit_ignore_patterns.txt └── test ├── http ├── books.addbook.http └── books.getbooks.http └── java └── com └── company └── app ├── application └── BookCatalogApplicationTest.java └── architecture ├── AdaptersLayerComponentsTest.java ├── ApplicationComponentsTest.java ├── ArchitectureTest.java ├── DomainComponentsTest.java ├── GeneralCodingRulesTest.java ├── LayeredArchitectureTest.java ├── PrimaryAdaptersComponentsTest.java ├── SecondaryAdaptersComponentsTest.java ├── SlicesTest.java └── SpringCodingRulesTest.java /.gitattributes: -------------------------------------------------------------------------------- 1 | *.bat text eol=crlf 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/README.md -------------------------------------------------------------------------------- /architecture.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/architecture.puml -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/gradlew.bat -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/settings.gradle -------------------------------------------------------------------------------- /src/main/java/com/company/app/adapters/primary/web/BookController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/main/java/com/company/app/adapters/primary/web/BookController.java -------------------------------------------------------------------------------- /src/main/java/com/company/app/adapters/primary/web/BookPojo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/main/java/com/company/app/adapters/primary/web/BookPojo.java -------------------------------------------------------------------------------- /src/main/java/com/company/app/adapters/primary/web/JsonConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/main/java/com/company/app/adapters/primary/web/JsonConfiguration.java -------------------------------------------------------------------------------- /src/main/java/com/company/app/adapters/primary/web/LegacyBooksApi.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/main/java/com/company/app/adapters/primary/web/LegacyBooksApi.java -------------------------------------------------------------------------------- /src/main/java/com/company/app/adapters/secondary/mongodb/BookDocument.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/main/java/com/company/app/adapters/secondary/mongodb/BookDocument.java -------------------------------------------------------------------------------- /src/main/java/com/company/app/adapters/secondary/mongodb/BooksRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/main/java/com/company/app/adapters/secondary/mongodb/BooksRepository.java -------------------------------------------------------------------------------- /src/main/java/com/company/app/adapters/secondary/mongodb/MongoBooksRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/main/java/com/company/app/adapters/secondary/mongodb/MongoBooksRepository.java -------------------------------------------------------------------------------- /src/main/java/com/company/app/adapters/secondary/mongodb/MongoConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/main/java/com/company/app/adapters/secondary/mongodb/MongoConfiguration.java -------------------------------------------------------------------------------- /src/main/java/com/company/app/application/BookCatalogApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/main/java/com/company/app/application/BookCatalogApplication.java -------------------------------------------------------------------------------- /src/main/java/com/company/app/application/usecases/AddBookUseCase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/main/java/com/company/app/application/usecases/AddBookUseCase.java -------------------------------------------------------------------------------- /src/main/java/com/company/app/application/usecases/FindBooksUseCase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/main/java/com/company/app/application/usecases/FindBooksUseCase.java -------------------------------------------------------------------------------- /src/main/java/com/company/app/domain/model/Author.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/main/java/com/company/app/domain/model/Author.java -------------------------------------------------------------------------------- /src/main/java/com/company/app/domain/model/Book.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/main/java/com/company/app/domain/model/Book.java -------------------------------------------------------------------------------- /src/main/java/com/company/app/domain/model/Isbn.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/main/java/com/company/app/domain/model/Isbn.java -------------------------------------------------------------------------------- /src/main/java/com/company/app/domain/model/Title.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/main/java/com/company/app/domain/model/Title.java -------------------------------------------------------------------------------- /src/main/java/com/company/app/domain/services/BookDomainService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/main/java/com/company/app/domain/services/BookDomainService.java -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=8000 2 | -------------------------------------------------------------------------------- /src/main/resources/archunit_ignore_patterns.txt: -------------------------------------------------------------------------------- 1 | .*LegacyBooksApi.* 2 | -------------------------------------------------------------------------------- /src/test/http/books.addbook.http: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/test/http/books.addbook.http -------------------------------------------------------------------------------- /src/test/http/books.getbooks.http: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/test/http/books.getbooks.http -------------------------------------------------------------------------------- /src/test/java/com/company/app/application/BookCatalogApplicationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/test/java/com/company/app/application/BookCatalogApplicationTest.java -------------------------------------------------------------------------------- /src/test/java/com/company/app/architecture/AdaptersLayerComponentsTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/test/java/com/company/app/architecture/AdaptersLayerComponentsTest.java -------------------------------------------------------------------------------- /src/test/java/com/company/app/architecture/ApplicationComponentsTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/test/java/com/company/app/architecture/ApplicationComponentsTest.java -------------------------------------------------------------------------------- /src/test/java/com/company/app/architecture/ArchitectureTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/test/java/com/company/app/architecture/ArchitectureTest.java -------------------------------------------------------------------------------- /src/test/java/com/company/app/architecture/DomainComponentsTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/test/java/com/company/app/architecture/DomainComponentsTest.java -------------------------------------------------------------------------------- /src/test/java/com/company/app/architecture/GeneralCodingRulesTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/test/java/com/company/app/architecture/GeneralCodingRulesTest.java -------------------------------------------------------------------------------- /src/test/java/com/company/app/architecture/LayeredArchitectureTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/test/java/com/company/app/architecture/LayeredArchitectureTest.java -------------------------------------------------------------------------------- /src/test/java/com/company/app/architecture/PrimaryAdaptersComponentsTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/test/java/com/company/app/architecture/PrimaryAdaptersComponentsTest.java -------------------------------------------------------------------------------- /src/test/java/com/company/app/architecture/SecondaryAdaptersComponentsTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/test/java/com/company/app/architecture/SecondaryAdaptersComponentsTest.java -------------------------------------------------------------------------------- /src/test/java/com/company/app/architecture/SlicesTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/test/java/com/company/app/architecture/SlicesTest.java -------------------------------------------------------------------------------- /src/test/java/com/company/app/architecture/SpringCodingRulesTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JonasHavers/archunit-examples/HEAD/src/test/java/com/company/app/architecture/SpringCodingRulesTest.java --------------------------------------------------------------------------------