cliftonc / express-mvc-bootstrap

Application template for a structured Node.js, Express, [Sequelizer in devel, Mongoose in master/Mongoose Branch], EJS & JQuery Application
http://cliftonc.github.com/express-mvc-bootstrap/
272 stars 50 forks source link

THIS PROJECT IS NO LONGER MAINTAINED, TRY THIS ONE: https://github.com/niftylettuce/eskimo

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:

And then install via NPM:

But I've included in this project:

Installation

  // on osx with brew
  brew update
  brew install node

  // build from source
  git clone git://github.com/joyent/node.git
  ./configure
  make
  make install
  // on osx with brew
  brew update
  brew install mongodb

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

For more installation detail please see this

curl http://npmjs.org/install.sh | clean=no sh
  // 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

  // create app 
  eb create-app

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

  // running server
  eb

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!