Sure, here you go. That'll get you started. We didn't adopt any of that or a specific solution/library/way, but they were good resources to think about the matter.
That's from our internal wiki, and "Plugin Architecture" was the first entry in that, just to tell you about how important it was.
Also, given that you describe yourself as a "junior developer", here's a reply to an Ask HN about "How to become a senior developer".
Description: Doug Hellmann talks about Stevedore, a library that provides classes for implementing common patterns for using dynamically loaded extensions
SheetJS was created because of a Microsoft licensing issue with a library (https://github.com/stephen-hardy/xlsx.js/issues/8). The other project had a nonstandard license with a clause that only applied to browsers run on Microsoft Windows, which is really bizarre for a JS library that can run on any browser. Apparently the original developer was working for Microsoft at the time, and Microsoft mandated the license clause.
In a funny twist of fate, Microsoft now uses SheetJS open source to power some Excel exports in Office 365! https://tasks.office.com/License.html is the license disclosure, and you can actually see it in action in the exported files.
We were blown away when we found out. It's the ultimate endorsement! Oftentimes we just wonder what would have happened if Microsoft just let the original project adopt a standard open source license.
That's from our internal wiki, and "Plugin Architecture" was the first entry in that, just to tell you about how important it was.
Also, given that you describe yourself as a "junior developer", here's a reply to an Ask HN about "How to become a senior developer".
https://news.ycombinator.com/item?id=25025253
Plugin Architecture:
Dynamic Code Patterns: Extending Your Application with Plugins - Doug Hellmann
Link: https://www.youtube.com/watch?v=7K72DPDOhWo
Description: Doug Hellmann talks about Stevedore, a library that provides classes for implementing common patterns for using dynamically loaded extensions
PluginBase - Armin Ronacher:
Link: http://pluginbase.pocoo.org/
Description: Armin Ronacher is the creator of Flask, Jinja, and a bunch of other stuff.
Miscellaneous links on plugin systems:
https://developer.wordpress.org/plugins
https://techsini.com/5-best-wordpress-plugin-frameworks/
https://eli.thegreenplace.net/2012/08/07/fundamental-concept...
https://pyvideo.org/pycon-us-2013/dynamic-code-patterns-exte...
https://en.wikipedia.org/wiki/Hooking
http://chateau-logic.com/content/designing-plugin-architectu...
https://www.odoo.com/documentation/user/11.0/odoo_sh/getting...