I'm developing a web system, and this system will be provided to different clients, it happens that this system should be possible to make some customizations, but should maintain a core that is the same for all.
Customizable areas would be styles like color, effects, sizes, or even new extra pages, and the core will contain the main functions of the system.
These system versions of each client will be based on a base version of the core, and when it is updated, I have to be able to update the core of all clients with the least possible impact.
Is there a framework, philosophy, concept, or anything that can help me build this system framework?