Modules
In my opinion every application (not only the bigger ones) needs to be divided into interdependent modules. This helps a lot when you deal with testing and enhancing your application.
In node.js applications, you will see and use this pattern very often:
//import a module var Database = require('./db'); // initialize a module using some options var db = new Database('http://my.db.connection'); // initializing a module injecting a dependency var usermanager = require('./usermanager')(db);
But what if you want to use this module in other applications ? In this case you should make an npm independent package for each module, of course. And, in the main application you would initialize each package in the proper order. This is repeatitive and tedious furthermore, when the number of the packages starts to get bigger, initializing each module in the proper order can be an issue.
I recommend to read the documentation on github. It's very clear and detailed.
I hope this will be useful ...
P.S.
A friend of mine suggest me to use a git subtree for each package. Nice idea!
From modules to plugins
Architect uses a simple declarative syntax to explain the interconnections between packages. It also starts the system in the correct order initializing each package just once.I recommend to read the documentation on github. It's very clear and detailed.
Express.js and Architect
I have set up a simple express.js/architect boilerplate to show how to use Architect to make an extensible express.js application.I hope this will be useful ...
P.S.
A friend of mine suggest me to use a git subtree for each package. Nice idea!