I am asking a question about the overall architecture between different projects.
Let's say I want to centralize all icons / images between different projects in a single repository. This means that all projects need to checkout / synchronize with this repository.
I am going to use SVG graphics to make sure that I can dynamically change colors in the source code of my projects. The changing of colors is mandatory and is depending of project + domain logic.
What are advantages / disadvantages of this approach (single repo + SVG graphics)?
The first things which pops into my mind are:
Advantages:
- single source of truth
- easy update of all projects
- decreased repository sizes
Disadvantages:
- coupling of not dependent projects via a repo
- potentially complex logic to modify SVG properties (depends on the SVG itself)
- strong coupling between the images and the projects (the code needs to know the implementation details, in order to change the colors)
Does any body has experience with this approach? What do you think?