Advanced Node.js Process Management with PM2

Matthew Brown JavaScript, Node, Technology Snapshot, Tutorial 1 Comment

If you’ve worked on any front end applications recently, you have likely had some contact with a Node/Express application. What you may not be familiar with is how these applications are managed in production.

I recently had a project where I needed to set up a Node application on an AWS server. I needed a tool to solve the technical challenges of managing the Node processes and deploying the application in a very efficient manner.

I chose PM2, which is a handy process management tool for running Node.js applications in production environments. PM2 provides a simple command line interface that makes it easy to get started. This powerful Node module has tools for managing application processes, logging, and more.

In this article, I provide an introduction to PM2, showing why it is such a valuable tool for managing Node.js applications. By way of a reference example application, we show the basic features and commands for using PM2 and give examples of generating configuration files for both running and deploying applications.

A Conversation About Conversations

David Pitt Conversational Apps, JavaScript, Keyhole Creations, Mobile, Node, React, Technology Snapshot Leave a Comment

We created a platform that supports developing a “conversational” type application through SMS. The user experience between a user and an SMS application can be thought of as a conversation. A user texts a question or topic, and a reply is returned, then another question and reply is performed until a desired result is accomplished.

Now, this is not a universal user experience, but for many use cases it can provide an easy to deliver users functionality quickly and conveniently. There is no need to install or download apps, or pop open a browser and type in a URL; just have a conversation through your texting app.

In this blog: Why conversational applications are handy, examples of conversational applications we have created, and a walkthrough of the application architecture used to develop those SMS applications. Includes how to make texting a richer experience, state, and session handling insights.

Creating a Slack Bot

Brice McIver Conversational Apps, JavaScript, Node, Technology Snapshot Leave a Comment

If you have ever worked on a team project, then you’ve needed some way to communicate with your team. For a very small team with all of its members based in one place, face-to-face communication might be your go-to method of handling project conversations.

However, once your project size progresses past that point, there’s a good chance that you’ll at least evaluate using a collaborative software package to help manage your project. Slack is a popular option for this.

In this blog, I’ll show the basic steps you can take to integrate Slack with your existing tools and workflows. In particular, we will set up Slack for incoming webhooks and event subscriptions, showing how to program a Slack bot to say personalized “Welcome to the channel” and a “Goodbye” messages.

Let’s get started…

Building Applications Using the backbone.khs Framework Extension

John Boardman BackboneJS, JavaScript, Node, Technology Snapshot Leave a Comment

Backbone is a very powerful application development framework. However, it can be a little “close to the metal” in terms of how much work is needed to produce a working application with it. I see Backbone as a low level framework that could use some help in making it a bit easier and faster to use.

Keyhole has released an extension to help! The backbone.khs framework extension npm module (available by clicking the link) does its best to minimize the work necessary to get a Backbone application up and running.

The extension makes it easier to deal with:
• browser history
• root level non-Model Object implementation
• caching
• session support
• regions (which break pages up into more workable segments)
• a top-level Application object to manage the application
• modules to help with page and URL routing
• a Backbone View extension to seamlessly integrate Backbone Stickit and make Marionette templates easier
• a Collection View to enhance working with groups of items.

In this blog, I’ll describe these enhancements with some code examples…

Seriate: The Glue Between SQL Server and Node.js

Chris Berry .NET, JavaScript, Node, Technology Snapshot 8 Comments

An example Node.js application which connects to a SQL server and serves up data via HTTP endpoints. Before leaving my last client, I was asked if it was possible for Node.js to connect to Microsoft’s SQL Server. The reasoning behind this was that the company wanted to move away from a pure Microsoft stack because of the cost and try …