Awesome
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
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 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 git@github.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.
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.