Currently, the code that's shared between the Fundraising App and the Fundraising Operation Center is in different GitHub repositories. This has several drawbacks, which would be mitigated by introducing a monorepo. For that to happen, we need to mitigate the drawbacks of a monorepo:
- Organize the test suites for faster CI feedback and cleaner overall builds:
- When a library changes, run integration tests for all applications (but only the routes affected by the library)
- When an application changes, run only the test for the application
- Introduce architectural checks to keep the separation of concerns and distinction between bounded contexts.
- Auto-Update versions
- Research how to keep the packages distinct.
- Reserach how to cascade changes
See ADR 12, "Code Repositories on GitHub" for details