buckpal
c4-notation
buckpal | c4-notation | |
---|---|---|
3 | 126 | |
2,030 | 25 | |
- | - | |
2.9 | 10.0 | |
6 days ago | almost 5 years ago | |
Java | ||
- | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
buckpal
- Hexagonal Architecture Spring example, is this right?
-
Any examples of a well designed Java web backend?
This is my filtered list of open-source projects that I use for learning: https://github.com/codurance/academy-walking-skeleton/blob/main/simpleWebservice/src/main/java/com/kata/SimpleWebservice/UserRepository.java https://github.com/bwajtr/java-persistence-frameworks-comparison https://github.com/thombergs/code-examples/tree/master/spring-boot/spring-boot-testing https://github.com/codurance/all-aboard-backend https://github.com/codurance/gandalf https://github.com/codurance/hotel-kata-boot https://github.com/codurance/hotel-kata-monolith https://github.com/codurance/hotel-kata-raw https://github.com/codurance/mementor https://github.com/codurance/pouch https://github.com/codurance/Retropolis-BE https://github.com/codurance/SalarySlipKata https://github.com/codurance/sessionize https://github.com/codurance/task-list https://github.com/ddd-by-examples/factory https://github.com/doctore/Spring5Microservices https://github.com/eventuate-examples/eventuate-examples-java-customers-and-orders https://github.com/gitpushforcemain/nerdy-jokes-app https://github.com/gothinkster/spring-boot-realworld-example-app https://github.com/gtiwari333/spring-boot-web-application-sample https://github.com/hamvocke/spring-testing https://github.com/hmcts/spring-boot-template https://github.com/IBM/template-java-spring https://github.com/isd-soft https://github.com/jitterted/mobreg https://github.com/jref/covid-19-demo https://github.com/jref/vaccination-start https://github.com/lpalma/merlin https://github.com/mechero/full-reactive-stack https://github.com/mohamed-taman/Springy-Store-Microservices https://github.com/nelkinda https://github.com/OlgaMaciaszek/spring-cloud-netflix-demo https://github.com/pavelfomin/spring-boot-rest-example https://github.com/PravSonawane/fakes-over-mocks https://github.com/remal/java-tools https://github.com/remal/oss-template-java-gradle https://github.com/pavelfomin/resume/blob/master/resume.html.pdf https://github.com/richardjwild/how-to-java https://github.com/rieckpil/java-testing-ecosystem https://github.com/rieckpil/testing-spring-boot-applications-masterclass https://spring.io/guides https://www.javaguides.net/2022/03/spring-boot-unit-testing-service-layer.html?spref=tw https://github.com/spring-petclinic https://github.com/stratospheric-dev/stratospheric https://github.com/tericcabrel/spring-user-management https://github.com/thombergs/buckpal https://github.com/Throyer/springboot-api-rest-example https://github.com/TomSpencerLondon/Quiz https://github.com/vladmihalcea/high-performance-java-persistence https://github.com/Vukan-Markovic/Distributed-information-systems https://github.com/yacekmm/testingDemo https://github.com/kamaruzzaman https://github.com/evrentan?tab=repositories https://github.com/ConstantinKV/demo-sca-provider https://github.com/sqshq/piggymetrics https://github.com/ESchouten/CleanArchitecture https://github.com/CodelyTV/java-ddd-example https://github.com/lsoares/clean-architecture-sample https://github.com/mattia-battiston/clean-architecture-example https://github.com/techyourchance https://github.com/ttulka/ddd-example-ecommerce-microservices https://github.com/ttulka/ddd-example-ecommerce https://github.com/victorrentea/clean-architecture https://github.com/victorrentea/clean-code-java https://github.com/victorrentea/ddd https://github.com/victorrentea/integration-testing-spring
-
Spring Modulith: have we reached modularity maturity?
We need rules to enforce boundaries, and they need to be treated like tests: when tests fail, one must fix them. Likewise, when one breaks a rule, one must fix it. ArchUnit is a tool to create and enforce rules. One configures the rules and verifies them as tests. Unfortunately, the configuration is time-consuming and must constantly be maintained to provide value. Here's a snippet for a sample application following the Hexagonal architecture principle:
c4-notation
-
Ask HN: Guidelines for making clear architecture diagrams
Second this.
Reference for anyone looking I to it: https://c4model.com/
There is also quite a lot of options for helping create these diagrams. I've found https://structurizr.com/ to be the best of what I've tried so far.
-
Show HN: Flyde – an open-source visual programming language
What you are describing sounds a lot like C4: https://c4model.com/
-
Ask HN: How do you document complex software systems?
The C4 model [0] provides a mostly sensible structure and techniques for representing pure software systems across different abstraction levels.
For systems involving software and hardware, or other complex interfacing (both technology and bureaucracy) this starts to delve into the universe of systems engineering. There's a decent assembly of knowledge on that in the SEBoK [1].
As another commenter has already called out too, one of the most valuable sources of information is also _why_ a system is in its current form and _how_ that's changed over time. ADR's [2] really do a good job at nailing this for just about any scale.
[0]: https://c4model.com
[1]: https://sebokwiki.org
[2]: https://adr.github.io
-
A View on Functional Software Architecture
There a various standards for documenting software architecture, like arc42 or C4. While useful and somewhat well-known (there is certainly a correlation here), here architecture documentation can be further simplified, particularly due to the self-similarity of project and component. Following is a small template, that can also serve as a project's and component's README:
- The C4 model for visualising software architecture
-
Inkscape Cloud Architect
I would suggest that if your architecture diagrams are a bunch of icons provided by AWS/Azure/GCP with lines pointing at each other... you are doing it wrong.
The 'what does this box do for my system' is vastly more important than the 'which in vogue offering from my cloud provider implements it'.
I highly suggest folks take a look at the C4 Model: https://c4model.com/
- What do you wish business folks knew about UML?
-
How to create interactive zoomable software architecture diagrams
We often use abstractions in software engineering to communicate complex architectures and software systems. In this article, we’ll discuss how abstractions are inherently hierarchical and how the C4 model provides a nested structure for defining your software architecture. We’ll then cover how IcePanel allows you to create interactive and zoomable diagrams for your audience to zoom in and out of different levels of technical detail.
-
Architecture diagrams enable better conversations
You probably want https://c4model.com/ which explains what a C4 architecture diagram is. (See the first footnote in the article.)
What are some alternatives?
Retropolis-BE - The back end of the Retropolis application
excalidraw - Virtual whiteboard for sketching hand-drawn like diagrams
java-ddd-example - ♨️ DDD in Java skeleton & examples. Course:
backstage - Backstage is an open platform for building developer portals
piggymetrics - Microservice Architecture with Spring Boot, Spring Cloud and Docker
C4-PlantUML - C4-PlantUML combines the benefits of PlantUML and the C4 model for providing a simple way of describing and communicate software architectures
hotel-kata-monolith - Hotel Kata Solution with REST and Persistence layer in a structured monolith format. Perfect starting point for microservice or decoupling exercises
mermaid - Generation of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown
spring-user-management - A REST API for User and Role management, token generation and validation
pumla - pumla - systematic re-use of model elements described with PlantUML
jmolecules - Libraries to help developers express architectural abstractions in Java code
plantuml - Generate diagrams from textual description