Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Application template for a structured Node.js, Express, [Sequelizer in devel, Mongoose in master/Mongoose Branch], EJS & JQuery Application

branch: master
README.md

Express MVC Bootstrap

A MVC boilerplate for Express.js

Description

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.

Requires

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
  • socket.io: The cross-browser WebSocket

But I've included in this project:

Installation

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

  // build from source
  git clone git://github.com/joyent/node.git
  ./configure
  make
  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 http://npmjs.org/install.sh | 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 socket.io should mongoose log cluster expresso qs mime ejs connect express express-mvc-bootstrap

Setup

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

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

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

Commands:

  // 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

TODO:

Build some amazing apps!

Something went wrong with that request. Please try again.