#1 – request

Request is the easiest way to make REST calls. It runs server-side to hide your token and if you use Postman to test the HTTP request, it can even generate the code for you!

Example Request Using Spark Messages API:

var request = require(‘request’);
var req = {
  auth: { bearer: ‘sparkTokenHere’ },
  url: ‘https://api.ciscospark.com/v1/messages’,
  json: true,
  body: {
    ‘roomId’: roomId,
    ‘text’: message
};//end setup

request.post(req, function(err, res) {
if(err) {
} else {
});//end rest call

#2 – picker

Picker is a server side router for Meteor that works alongside middleware to easily provide an API or webhook into your application.

Example Webhook with JSON parsing using body-parser:

Picker.middleware(bodyParser.urlencoded({extended: false}));
Picker.route(‘/myWebhook’, function(params, request, response) {
  personEmail = (request.body.data.personEmail);
  msgid = (request.body.data.id);

#3 – Q

Before getting too far ahead with node.js, you’ll need to grasp the underlying language, javascript. Javascript is a synchronous language, meaning it runs functions all at the same time, which can make a mess of things if you don’t use callbacks properly. Q uses something called promises to run things asynchronously in the order you tell it. To learn more about callbacks and why this package is so necessary, check out callbackhell.com

Example of promises with Q:

.then(function (value4) {
// Do something with value4
.catch(function (error) {
// Handle any error from all above steps

#4 – bert

Bert makes notifications simple

  title: ‘Conference Now’,
  message: ‘Connecting to Tropo…’,
  type: ‘info’,
  style: ‘growl-bottom-right’,
  icon: ‘fa-phone’

#5 – fontawesome

fontawesome is a collection of 675 icons in unicode that can be embedded in your site with a single tag. Most people will use their built in CDN (content delivery network) to make deployment even easier.

<i class=fa fa-camera-retro”></i>

#6 – nodemailer

nodemailer is the best email package hands down. It supports an html body and allows you to specify options within the app.

var nodemailer = require(‘nodemailer’);

// create reusable transporter object using the default SMTP transport
var transporter = nodemailer.createTransport(‘smtps://user%40gmail.com:pass@smtp.gmail.com:587’);

// setup e-mail data with unicode symbols
var mailOptions = {
  from: ‘”Fred Foo πŸ‘₯” <foo@blurdybloop.com>’, // sender address
  to: ‘bar@blurdybloop.com, baz@blurdybloop.com’, // list of receivers
  subject: ‘Hello βœ”’, // Subject line
  text: ‘Hello world 🐴’, // plaintext body
  html: ‘Hello world 🐴‘ // html body

// send mail with defined transport object
transporter.sendMail(mailOptions, function(error, info){
  return console.log(error);
console.log(‘Message sent: ‘ + info.response);

#7 – validator

Need to check if an email is actually an email? A dollar amount is actually a dollar amount? Validator has a ton of built-in methods to check for you.

var validator = require(‘validator’);
validator.isEmail(‘foo@bar.com’); //=> true

#8 – csv

While ECMA 5 has native XML and JSON support, a lot of Cisco applications still rely on CSV (comma seperated values). This package aims to bridge the gap.

var csv = require(‘csv’);
csv.parse(data, function(err, data){
  csv.stringify(data, function(err, data){

#9 – bootstrap

Boostrap is so useful, I wish it was just included in HTML period. Any buttons, menus, fonts, tables, grids, layouts, etc. are super easy with Bootstrap.

Just include the bootstrap code below to utilize their CDN:

<!– Latest compiled and minified CSS –>
<link rel=”stylesheet” href=”https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css” integrity=”sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u” crossorigin=”anonymous”>

<!– Latest compiled and minified JavaScript –>
<script src=”https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js” integrity=”sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa” crossorigin=”anonymous”></script>

#10 – jsPDF

PDFs are still the industry standard for “digital hard copies” of documents. jsPDF makes generating PDFs easy.

<script src=”https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.2/jspdf.debug.js”></script>
var pdf = new jsPDF();
pdf.text(30, 30, ‘Hello world!’);

Leave a Reply

Post Navigation