Building a Node.js Service with AWS Lambda, DynamoDB, and Serverless Framework

Matthew Brown AWS, Cloud, JavaScript, Node, Tutorial Leave a Comment

My favorite new technology as a developer is serverless computing. The convenience and cost make it a very compelling choice for running options in the cloud. Especially for proof of concepts or quick ways to prove out ideas. Using serverless computing to get up and running takes very little effort and the costs of running an application in the cloud are minimal. Serverless really empowers developers to act on ideas as quickly as possible.

In this post, I’m going to briefly touch on what serverless computing is and the pros and cons of using it. Then I will build a Node.js service to do CRUD operations using AWS Lambda, DynamoDB, and the Serverless Framework. You can view the finished product on Github.

Showcase of React + Redux Web Application Development

Jian Li JavaScript, React, Single-Page Application, Tutorial Leave a Comment

In the last few years, React has continuously gained popularity for the development of web applications. At Keyhole, we have several blogs talking about React and related technologies, including React, Formik, react-router, and many others.

So why would we need Redux? Quite often when we develop applications, we start with small pieces. As the business requirements change, new features/modules/components are added/removed/updated. Particularly in enterprise applications, you may end up with a deep hierarchy of parent-child relationships.

In a React application, parent component-states are passed down to its child component as property. Application states can be changed in many different places. If not managed perfectly (and, in many cases, it’s not), your system can behave differently than expected. It can become increasingly difficult for development, debugging, production support and code maintenance.

In this blog, I’ll talk about Redux and explain how it can benefit React front-end development. I’ll provide an introduction to using Redux with React and show a demonstration of reconstructing an example React application to React + Redux.

I’ll re-construct this React application into two projects. The first project will be the back-end server application which will handle all the typical business in the server end, like registration, authentication, database operation, etc. I’ll use MongoDB to persistent data and Node.js for REST API development. You can also reference RESTful API development to the Github repository open source khs-convo, released by Keyhole Software.

The second project will be pure front-end development, which will React with Redux for state management. React with Redux integration is the focus of this blog…

Keyhole Labs Releases KHS {Convo} Under Open Source License

Lauren Fournier Company News, Conversational Apps, Keyhole Creations Leave a Comment

Keyhole Labs has announced its release of the KHS {Convo} conversational application development platform under an Apache 2.0 open source license. Development teams can now use and modify KHS {Convo} for their own uses (even commercially) using the open source platform.

KHS {Convo} is a Node.js based platform for creating SMS text message and web-based conversational experiences. It was created by our team at Keyhole Labs.

What’s a Conversational Application? A Conversational Application provides a messaging interface for a personalized conversation between your company and a user. The ad hoc interaction is designed to provide hyper-relevant & personalized content via automated SMS text messaging that doesn’t feel automated.

For more information, please visit…

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.

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 …