Two Node Express Applications: Score and App
Mac OS X or Linux (Vagrant or Docker)
Vagrant (VirtualBox)
DockerMachine (VirtualBox)
Tools in the Pipeline
RubyMine (Rails and Node platforms)
Team City (Build System)
Node vs. NVM
Node Package Manager
{
"name": "express_pony",
"version": "1.0.1",
"description": "Pony Express App",
"author": "Rainbow Brite <rbrite@gobalto.com>",
"main": "server.js",
"scripts": {
"start": "node server.js"
},
"dependencies": {
"express": "^4.13.3"
}
}
Task Manager
module.exports = function(grunt){
grunt.initConfig({
ngconstant: {
options:{
name: 'config',
dest: 'static/shared/javascripts/config/config.js'
},
dev: {
constants: { ...}
},
test: {
constants: { ... }
},
prod: {
constants: { ... }
}
},
"bower-install-simple":{
dev: { options:{ production: false } },
test: { options:{ production: false } },
prod: { options:{ production: true } } }
});
grunt.loadNpmTasks('grunt-bower-install-simple');
grunt.loadNpmTasks('grunt-ng-constant');
grunt.registerTask('configure:prod','ngconstant:prod');
grunt.registerTask('configure:test','ngconstant:test');
grunt.registerTask('configure:dev','ngconstant:dev');
grunt.registerTask('configure','configure:dev');
grunt.registerTask('dev',['configure:dev','bower-install-simple:dev']);
grunt.registerTask('test',['configure:test','bower-install-simple:test']);
grunt.registerTask('prod',['configure:prod','bower-install-simple:prod']);
// Added by DevOps for Docker build optimization
grunt.registerTask('prod-no-bower',['configure:prod']);
grunt.registerTask('test-no-bower',['configure:test']);
grunt.registerTask('dev-no-bower',['configure:prod']);
grunt.registerTask('default',['dev']);
};
Front End Modules
{
"name": "Select",
"version": "15.3.0",
"dependencies": {
"bootstrap": "~3.3.5",
"angular": "~1.4.3",
"angular-route": "~1.4.3",
"jquery": "~2.1.4",
"angular-resource": "~1.4.3",
"angular-ui-grid": "3.1.1",
"angular-bootstrap": "~0.14.0",
"ngUpload": "~0.5.17",
"highcharts-release": "~4.1.9",
"angular-filter": "~0.5.8",
"angular-animate": "~1.4.8",
"angular-filepicker": "~1.1.3",
"angular-drag-and-drop-lists": "~1.3.0",
"lodash": "^4.0.0",
"ng-idle": "~1.1.1",
"textAngular": "~1.5.0",
"font-awesome": "fontawesome#~4.6.1",
"angular-ui-tab-scroll": "~2.2.7"
},
"resolutions": {
"angular": "1.4.3"
}
}