THIS PROJECT IS NO LONGER MAINTAINED, TRY THIS ONE: https://github.com/niftylettuce/eskimo
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.
- Node.js: Amazing javascript asynchronous IO library, install manually.
- MongoDB: NoSQL Database, install manually.
- NPM: Node package manager, used to install the remaining.
- 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
- jQuery: Javascript Library
- jQuery UI: UI Library
- jQuery Aristo Template: Fantastic looking jQuery UI Template.
- 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
- 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
// 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!