adamsaghy commented on code in PR #6031:
URL: https://github.com/apache/fineract/pull/6031#discussion_r3481336992


##########
fineract-doc/src/docs/en/modularization.adoc:
##########
@@ -0,0 +1,142 @@
+= Event-driven architecture for modular design
+
+== Summary
+
+Fineract's feature modules import each other's internal classes directly: loan 
reads
+savings entities, savings calls accounting services, accounting depends on 
organisation
+repositories. Two shared modules already exist to prevent this -- 
`fineract-core` (read-only
+contracts) and `fineract-command` (write-side commands and events) -- but 
nothing enforces
+their use, so the boundary has eroded. We propose to make those two modules 
the only
+permitted cross-feature dependency: reads cross a boundary as a 
`fineract-core` interface
+returning a DTO, writes cross as a `fineract-command` command or domain event. 
Every direct
+feature-to-feature import is migrated to one of those two mechanisms, in risk 
order, and an
+ArchUnit rule is activated in CI to keep the boundary from eroding again. A 
Spring Modulith

Review Comment:
   We dont have any ArchUnit lib or rules...



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to