Hello there,
I have been working with ColdBox for a while and have recently taken on a project that involves building a fairly complex application using a multi module architecture. While I am familiar with the basics of creating and organizing modules; I am seeking some advice on best practices; particularly for larger applications.
What are the recommended ways for modules to communicate with each other? I have read about using the message box and module services; but I am curious if there are any other approaches or patterns that work well; especially in terms of maintaining loose coupling and scalability.
In cases where several modules need to share certain services or utilities; how do you typically handle this? Do you place these shared components in a core or common module, or is there another strategy that works better?
Managing routes and event handling across multiple modules can get tricky. What are some effective ways to keep routing organized and ensure that event handlers are appropriately scoped and not conflicting?
When dealing with multiple modules; what are the best practices for implementing security; particularly regarding authentication and authorization? How do you ensure that security rules are consistently applied across all modules?
Also, I have gone through this post; https://community.ortussolutions.com/t/what-is-a-good-way-to-set-up-an-application-to-be-used-by-multiple-clients-domain-enterprise-aws-devops/ which definitely helped me out a lot.
For those who have experience with deploying multi module applications; how do you manage versioning and updates? Are there any tools or workflows that have proven helpful in streamlining this process?
Thank you in advance for your help and assistance.