Awesome Open Source
Awesome Open Source

ExpressJS 4 Starter

ExpressJS 4 Starter

![Gitter](https://badges.gitter.im/Join Chat.svg)

Lightweight Bootstrap NodeJS Apps Build Using ExpressJS 4, MongoDB/Mongoose, Authentication with Passport.js, Jade and GruntJS as Task Automation

Build Status Dependencies Status Built with Grunt

Install

Prerequisites

  • 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.

Tool Prerequisites

  • 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 node_modules
  • Genghis - The single-file MongoDB admin app

Javascript Tools Used

  • 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 youand your teamwith 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 protected]: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.

Directory structure

-app/
  |__config/
  |__controllers/
  |__helper
  |__models/
  |__mailer/
  |__views/
  |__routes

-public/
  |__css (all files will generate from Grunt)
  |__js
  |__less
  |__fonts
  |__img
  favicon.ico
-Grunfile.coffee

Troubleshooting

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.



Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Express (30,200
Mongodb (29,754
Mongoose (6,817
Passport (4,213
Jade (2,346