This template suggests architecture convention for Node.js daemon.
Overview of directory tree:
server/- Base directory with server logic.server/models- Place for your stored models.server/schemas- Directory contains validation schemas for your input data streams.server/domain- Your domain logic.server/lib- Your support logic.client/- Client scripts (optional).config/- Config files.web/- Third party web-framework (optional).
Daemon starting from /server/server.js.
Mag - fast streaming logger. Use object container and markers for organize log streams.
Example:
varlogger={server: require('mag')('server'),amqp: require('mag')('amqp')};Use pm2 for process management.
Install globally mocha. For assertion use chai.
Example:
// File test/example.jsvarassert=require('chai').assert;functionincNumber(number){returnnumber++;}describe('censor',function(){it('Test of incNumber function',function(){letnumber=0;letresult=incNumber(number);assert.equal(result,1);});});Run $ mocha.