It sounds like your question is one of general project structure, organization, application design/architecture and more or less "how do I hook components together?/what's the right way to modularize/organize an application or web page?"<p>This is going to sound dumb, but I would suggest reading a bit about backend or systems programming.<p>In my limited experience, code organization and modularity principles, as well as application architecture/structure principles, tend to hold regardless of specific domains with perhaps only some minor differences. So, even if you are designing a front end the way you break up components and the degree of modularization/your process for determining when something can be separated out, compartmentalized, etc. should be relatively similar to a native/systems/backend project--even though your materials and purpose are different.<p>In my personal experience, most front-end web development resources are either not geared toward these principles/are not always good examples of them. You find a lot of front-end tomes more or less just sugessting you follow the current idioms without teaching you why you should nor questioning whether there's a better way. Front-end texts generally are not good resources for learning programming/comp sci-fi fundamentals for, I think, two reasons: a. it's generally thought that these concepts are less important for front end devs (somewhat true but I guarantee you a front end dev that has some knowledge of the fundamentals of computer systems is going to perfrom better than one who doesn't) b. often this material is out of scope in front end resources, which focus on the nitty gritty of frameworks, js, etc. (the proliferation of frameworks is also a massive problem, imo, when it comes to front end development/web development which probably would have been avoided had more front end devs been more familiar with the way things are done in the systems programming world/unix principles etc.--you still have plenty of libraries in that case, but generally dedication to core libraries and their maintenance is stronger)<p>Contrarily, systems programming texts/conceptual texts, since that domain has been around for a long time and since organization and rational decision making are very important in that domain tend to stress these things and communicate them clearly.<p>Once you get the general/abstract notions of code organization, modularity, and application/architecture design and structure down I think you'll find you can easily adapt/apply the same principles to web development/ web apps, and will probably have a better understanding of what's going on.<p>I'm self taught myself and don't profess to be a front-end nor systems programming wizard by any stretch of the imagination, so take all that with a grain or two. That approach just happened to, I feel, greatly increase my own understanding and be a big step in my learning. If I had confined myself only to books/articles about front end web development I think I'd actually be worse at it in a lot of general respects, but perhaps a tad better at the particulars of certain frameworks etc.