ExpressJS 4 Starter
Lightweight Bootstrap NodeJS Apps Build Using ExpressJS 4, MongoDB/Mongoose, Authentication with Passport.js, Jade and GruntJS as Task Automation
- Node.js - Download and Install Node.js with NVM (Node Version Manager) - Simple bash script to manage multiple active node.js versions.
- MongoDB - Download and Install MongoDB - Make sure it's running on the default port.
- NPM - Node.js package manager, should be installed when you install node.js. NPM (Node Package Manager) will look at the package.json file in the root of the project and download all of the necessary dependencies and put them in a folder called
- Genghis - The single-file MongoDB admin app
- Grunt - In one word: automation. The less work you have to do when performing repetitive tasks like minification, compilation, unit testing, linting, etc, the easier your job becomes. After you've configured it, a Grunt can do most of that mundane work for you—and your team—with basically zero effort.
NOTE: After installing Node.js and MongoDB server has running, then its time to run your server (this app!).
$ git clone email@example.com:aredo/express4-bootstrap-starter.git \ && cd express4-bootstrap-starter \ && npm install \ && cp app/config/config.example.js app/config/config.js \ && grunt \ && open http://localhost:3001/
Then visit http://localhost:3001/ (if not taken automatically)
NPM Modules Used
- Express - Express is a minimal and flexible node.js web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications.
- Passport - Passport is authentication middleware for Node.js. Extremely flexible and modular, Passport can be unobtrusively dropped in to any Express-based web application. A comprehensive set of strategies support authentication using a username and password, Facebook, Twitter, and more.
- Mongoose - Elegant MongoDB object modeling for Node.JS. Mongoose provides a straight-forward, schema-based solution to modeling your application data and includes built-in type casting, validation, query building, business logic hooks and more, out of the box.
- LESS.JS - Less is a CSS pre-processor, meaning that it extends the CSS language, adding features that allow variables, mixins, functions and many other techniques that allow you to make CSS that is more maintainable, themable and extendable.
-app/ |__config/ |__controllers/ |__helper |__models/ |__mailer/ |__views/ |__routes -public/ |__css (all files will generate from Grunt) |__js |__less |__fonts |__img favicon.ico -Grunfile.coffee
During install some of you may encounter some issues feel free to contact me @hengkiardo or submit issue. via the repository issue tracker or the links provided below. I am also available on twitter @hengkiardo.