I read some articles and book chapters on object oriented JS on how to mimic namespaces, ...
I would not model the classic OO paradigm in JavaScript. You must adhere to what is natural for JavaScript.
Do not do classic inheritance. Use prototype inheritance or not inherit at all: composition / decoration looks much better than JavaScript inheritance.
You do not need namespaces. They cause unnecessary indirection and lead to an enterprise code failure. Use a nice module template that hides your functions and variables inside closures.
Try a module loader like RequireJS. You can hide your modules in your files and closures, and let RequireJS do the injection magic of dependencies for you.
Organizing JS application files is a very broad topic. You can organize your classes based on separation of concerns using paradigms such as MVC or MVP. As for the organization of the project, there may be an option to create your application on Maven (and in accordance with its agreements).
Since your question was at a very high level, I just wanted to use some ideas and keywords that you might want on Google and read on. Perhaps after some research, testing, and adversity, you may come back and ask about more specific issues.
source share