Application template for a structured Node.js, Express, [Sequelizer in devel, Mongoose in master/Mongoose Branch], EJS & JQuery Application
JavaScript CSS
Latest commit 4a6308d Dec 5, 2014 @cliftonc Update


Express MVC Bootstrap

A MVC boilerplate for Express.js


I built this application to create a template MVC style app that I could then use as the start point for further development. I used the excellent examples in the main Express github repository, specifically the MVC example, as the starting point. I have however changed it quite substantially to make it clearer and remove some of the magic that confused me at first when learning. If you are familiar with other MVC frameworks hopefully my file structure makes some sense.


You need to manually install:

  • Node.js: Amazing javascript asynchronous IO library, install manually.
  • MongoDB: NoSQL Database, install manually.
  • NPM: Node package manager, used to install the remaining.

And then install via NPM:

  • Express: Application Framework for Node.js
  • Mongoose: Node.JS ORM for Mongo
  • ejs: EmbeddedJS Templating
  • cluster: extensible multi-core server manager
  • log: Tiny logger with streaming reader
  • connect: High performance middleware framework
  • mime: A comprehensive library for mime-type mapping
  • qs: querystring parser
  • expresso: TDD framework, light-weight, fast, CI-friendly
  • should: test framework agnostic BDD-style assertions
  • The cross-browser WebSocket

But I've included in this project:


  • Install node.js
  // on osx with brew
  brew update
  brew install node

  // build from source
  git clone git://
  make install
  • Ininstall mongodb
  // on osx with brew
  brew update
  brew install mongodb

  // create db folder
  mkdir -p /usr/local/db/

For more installation detail please see this

  • Install npm
curl | clean=no sh
  • Install required packages
  // install executable package globally
  npm install express-mvc-bootstrap -g

  // make project folder and go to that folder
  mkdir /path/to/project
  cd /path/to/project

  // install packages locally to be `require();`
  npm install should mongoose log cluster expresso qs mime ejs connect express express-mvc-bootstrap


  • In you project folder run
  // create app 
  eb create-app

  // running mongodb
  mongod --dbpath /usr/local/db/

  // running server
  • Browse to http://localhost:3000


  // Shows help
  eb script

  // Wrapper for 3 commands below
  eb script generate-all HelloWorld

  // Creates a model
  eb script create-model HelloWorld 

  // Creates a controller
  eb script create-controller HelloWorld

  // Creates views
  eb script create-view HelloWorld

  // Creates tests
  eb script create-test HelloWorld

  // Runs server on different port
  eb server server.port=3000

  // Creates a new app
  eb create-app


Build some amazing apps!