SlideShare a Scribd company logo
Node Meetup 
Tuesday, December 2, 2014
$ whoiam
{ 
name : “Hengki Sihombing” 
email : “hengki.sihombing@gmail.com”, 
twitter : “hengkiardo”, 
github : “aredo” 
} 
module.export =
Kickstarter Your 
Node.JS Application 
http://blog.efvincent.com/wp-content/uploads/2011/06/Capture.png
require(‘express’) 
require(‘mongoose’) 
require(‘passport’) 
require(‘async’) 
require(‘grunt’) 
require(‘demo’) 
require(‘QA’)
Why Node.JS
Answer by your self 
Why you come to this meetup :)
Express.JS 
Fast, unopinionated, minimalist web framework for Node.js 
expressjs.com 
$ npm install express
MVC Framework base on 
Express.JS 
• KrakenJs http://locomotivejs.org/ 
• Locomotive.JS http://locomotivejs.org/ 
• Sails http://locomotivejs.org/ 
• Sleek.JS http://sleekjs.com/ 
• …… 
http://www.quora.com/Why-should-I-use-Express-when-developing-a-web-app-with-Node-js 
http://evanhahn.com/understanding-express/
Why Express.JS ??? 
• Express is a lightweight framework, meaning it does not make too many 
assumptions but gives you enough to avoid re-inventing the wheel. 
• Express is preferred because it adds dead simple routing and support for 
Connect middleware, allowing many extensions and useful features 
• Like any abstraction, Express hides difficult bits and says "don't worry, you 
don't need to understand this part". It does things for you so that you don't 
have to bother. In other words, it's magic 
• https://www.google.com/#q=why+express.js 
http://www.quora.com/Why-should-I-use-Express-when-developing-a-web-app-with-Node-js 
http://evanhahn.com/understanding-express/
Simple Express App
Why Mongoose ? 
• Because it provides easy-to-use methods for interacting with MongoDB. It 
is ORM, actually. It helps you forget about driver's query documentation, 
and focus on your models. 
• 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. 
• Mongoose provides various functionalities which makes your life easy such 
as
MongoDB Connection with 
Mongoose
https://github.com/jaredhanson/passport 
• 140+ authentication strategies 
• Easily handle success and failure 
• Supports persistent sessions 
• Dynamic scope and permissions 
• Pick and choose required strategies 
• Implement custom strategies 
• Lightweight code base 
•Easy To Use!!
Sample Twitter Auth with Passport
Sample FB Auth with Passport
Sample Linkedin Auth with Passport
Because Javascript 
ASYNCHRONOUS
Promises 
Promises… Promises… Never break your promises. 
Personally, never make promises. 
https://blog.domenic.me/youre-missing-the-point-of-promises

Not part of the Node 
“until latest stable version” 
Makes integration more difficult. 
Makes swapping code in / out more painful. 
Callbacks 
So good it’s got it’s own website callbackhell.com
async 
https://github.com/caolan/async 
Async is a utility module which provides straight-forward, 
powerful functions for working with 
asynchronous JavaScript. Although originally 
designed for use with Node.js, it can also be 
used directly in the browser. 
$ npm install async — save
Kickstarter Your Node.JS Application
Kickstarter Your Node.JS Application
Kickstarter Your Node.JS Application
another build tools: Gulp, Make, NPM, Ant, Maven 
Why use a task runner 
or 
build system?
Automation
Automation isn’t about being 
lazy. 
It’s about being efficient
Kickstarter Your Node.JS Application
Kickstarter Your Node.JS Application
Kickstarter Your Node.JS Application
Before you get started 
$ npm install -g grunt-cli 
$ npm install —save-dev grunt
package.json to manage dependencies
Grunt Overview
Demo 
https://express4-bootstrap-starter.herokuapp.com/ 
https://github.com/aredo/express4-bootstrap-starter 
$ git clone git@github.com:aredo/express4-bootstrap-starter.git
QA! 
{ 
name : “Hengki Sihombing” 
email : “hengki.sihombing@gmail.com”, 
twitter : “hengkiardo”, 
github : “aredo” 
} 
module.export =

More Related Content

What's hot (19)

PDF
Wordpress as a Backend
Andrew Duthie
 
PPTX
Lazy angular w/ webpack
Rich Snapp
 
PDF
Create a module bundler from scratch
Sing Ming Chen
 
PDF
Nuxt로 사내서비스 구현하면서 얻은 경험 공유
민환 조
 
PDF
Choosing the best JavaScript framework/library/toolkit
Hristo Chakarov
 
PPTX
jQuery Conference 2012 keynote
dmethvin
 
PDF
JavaScript development methodology
Aleksander Fabijan
 
PPTX
React brief introduction
Prograils.com
 
PDF
JSConf US 2014: Building Isomorphic Apps
Spike Brehm
 
PDF
Building a Single-Page App: Backbone, Node.js, and Beyond
Spike Brehm
 
PDF
jQuery Chicago 2014 - Next-generation JavaScript Testing
Vlad Filippov
 
ODP
Introduction to PhantomJS
Erol Selitektay
 
PPTX
Bower power
Eric Carlisle
 
PDF
Ryan Markel - WordCamp StL 2016 - Code Review
ryanmarkel
 
PDF
The Onion
Jörn Zaefferer
 
PPTX
Web Front End Performance
Chris Love
 
PPTX
Web development using nodejs
Vaisakh Babu
 
PDF
Isomorphic web application
Oliver N
 
PDF
Debugging WordPress Core and Plugins!
Bronson Quick
 
Wordpress as a Backend
Andrew Duthie
 
Lazy angular w/ webpack
Rich Snapp
 
Create a module bundler from scratch
Sing Ming Chen
 
Nuxt로 사내서비스 구현하면서 얻은 경험 공유
민환 조
 
Choosing the best JavaScript framework/library/toolkit
Hristo Chakarov
 
jQuery Conference 2012 keynote
dmethvin
 
JavaScript development methodology
Aleksander Fabijan
 
React brief introduction
Prograils.com
 
JSConf US 2014: Building Isomorphic Apps
Spike Brehm
 
Building a Single-Page App: Backbone, Node.js, and Beyond
Spike Brehm
 
jQuery Chicago 2014 - Next-generation JavaScript Testing
Vlad Filippov
 
Introduction to PhantomJS
Erol Selitektay
 
Bower power
Eric Carlisle
 
Ryan Markel - WordCamp StL 2016 - Code Review
ryanmarkel
 
The Onion
Jörn Zaefferer
 
Web Front End Performance
Chris Love
 
Web development using nodejs
Vaisakh Babu
 
Isomorphic web application
Oliver N
 
Debugging WordPress Core and Plugins!
Bronson Quick
 

Viewers also liked (15)

PDF
ARTICLES SOBRE LES DONES A LA SETMANA TRÀGICA I
damesdejuliol
 
PDF
484 11 12_10
Prospect High School
 
PPT
Presentazione easy fairs
easyfairsitaly
 
PDF
ARTICLES SOBRE DONES I SETMANA TRÀGICA I
damesdejuliol
 
PPTX
About Me
walkerrose
 
PDF
Les dades
damesdejuliol
 
PDF
Isomorphic Aplication with Javascript
Hengki Sihombing
 
PDF
3 6 Notes
Prospect High School
 
PDF
484 2010 12_08
Prospect High School
 
PPTX
Rapsodii de toamna in viziunea copiilor
iaya
 
PDF
488 11 12_10
Prospect High School
 
PPT
Amintiri din Spania
iaya
 
PDF
Create a RESTful API with NodeJS, Express and MongoDB
Hengki Sihombing
 
PPT
Metoda Mozaicul
iaya
 
PDF
484 2010 11_22
Prospect High School
 
ARTICLES SOBRE LES DONES A LA SETMANA TRÀGICA I
damesdejuliol
 
484 11 12_10
Prospect High School
 
Presentazione easy fairs
easyfairsitaly
 
ARTICLES SOBRE DONES I SETMANA TRÀGICA I
damesdejuliol
 
About Me
walkerrose
 
Les dades
damesdejuliol
 
Isomorphic Aplication with Javascript
Hengki Sihombing
 
484 2010 12_08
Prospect High School
 
Rapsodii de toamna in viziunea copiilor
iaya
 
488 11 12_10
Prospect High School
 
Amintiri din Spania
iaya
 
Create a RESTful API with NodeJS, Express and MongoDB
Hengki Sihombing
 
Metoda Mozaicul
iaya
 
484 2010 11_22
Prospect High School
 
Ad

Similar to Kickstarter Your Node.JS Application (20)

PDF
Introduction to node js - From "hello world" to deploying on azure
Colin Mackay
 
PPTX
Node js Introduction
sanskriti agarwal
 
KEY
Practical Use of MongoDB for Node.js
async_io
 
PPTX
PHP Indonesia - Nodejs Web Development
Irfan Maulana
 
PPTX
Irfan maulana nodejs web development
PHP Indonesia
 
PDF
Basic API Creation with Node.JS
Azilen Technologies Pvt. Ltd.
 
PDF
Intro to node.js - Ran Mizrahi (27/8/2014)
Ran Mizrahi
 
PDF
Intro to node.js - Ran Mizrahi (28/8/14)
Ran Mizrahi
 
PDF
Hello world - intro to node js
Refresh Annapolis Valley
 
PDF
MEAN Web Development 2nd Edition Amos Q. Haviv
qragxuxl2309
 
PPTX
Introduction to Node.js
Winston Hsieh
 
PDF
Workshop 4: NodeJS. Express Framework & MongoDB.
Visual Engineering
 
PPTX
Introduction to node.js
Md. Sohel Rana
 
PDF
What is Node.js? (ICON UK)
Tim Davis
 
PDF
JavaScript in 2015
Igor Laborie
 
PDF
Download full ebook of Mean Web Development 2nd Amos Q Haviv instant download...
eilkfbiznc943
 
PDF
Writing RESTful web services using Node.js
FDConf
 
PDF
Node.js 101 with Rami Sayar
FITC
 
PPTX
Node presentation
Vishwa Patel
 
PPTX
NodeJS
Alok Guha
 
Introduction to node js - From "hello world" to deploying on azure
Colin Mackay
 
Node js Introduction
sanskriti agarwal
 
Practical Use of MongoDB for Node.js
async_io
 
PHP Indonesia - Nodejs Web Development
Irfan Maulana
 
Irfan maulana nodejs web development
PHP Indonesia
 
Basic API Creation with Node.JS
Azilen Technologies Pvt. Ltd.
 
Intro to node.js - Ran Mizrahi (27/8/2014)
Ran Mizrahi
 
Intro to node.js - Ran Mizrahi (28/8/14)
Ran Mizrahi
 
Hello world - intro to node js
Refresh Annapolis Valley
 
MEAN Web Development 2nd Edition Amos Q. Haviv
qragxuxl2309
 
Introduction to Node.js
Winston Hsieh
 
Workshop 4: NodeJS. Express Framework & MongoDB.
Visual Engineering
 
Introduction to node.js
Md. Sohel Rana
 
What is Node.js? (ICON UK)
Tim Davis
 
JavaScript in 2015
Igor Laborie
 
Download full ebook of Mean Web Development 2nd Amos Q Haviv instant download...
eilkfbiznc943
 
Writing RESTful web services using Node.js
FDConf
 
Node.js 101 with Rami Sayar
FITC
 
Node presentation
Vishwa Patel
 
NodeJS
Alok Guha
 
Ad

Recently uploaded (20)

PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
Python basic programing language for automation
DanialHabibi2
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
July Patch Tuesday
Ivanti
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Python basic programing language for automation
DanialHabibi2
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 

Kickstarter Your Node.JS Application