@niftylettuce – Automated Continuous Integration Setup for Graceful and Zero-Downtime Node App Deployment using GitHub, PM2, Digital Ocean, and SemaphoreCI

How-to set up automated continuous integration and deployment setup with graceful and zero-downtime restarts for Node.js using GitHub, PM2, Digital Ocean, and SemaphoreCI.

Source: @niftylettuce – Automated Continuous Integration Setup for Graceful and Zero-Downtime Node App Deployment using GitHub, PM2, Digital Ocean, and SemaphoreCI

Setting up a Node.js Application for Production on Ubuntu 14.04

Node.js is an open source Javascript runtime environment for easily building server-side and networking applications. The platform runs on Linux, OS X, FreeBSD, and Windows, and its applications are written in JavaScript. Node.js applications can be run at the command line but we will teach you how to run them as a service, so they will automatically restart on reboot or failure, so you can use them in a production environment.
In this tutorial, we will cover setting up a production-ready Node.js environment that is composed of two Ubuntu 14.04 servers; one server will run Node.js applications managed by PM2, while the other will provide users with access to the application through an Nginx reverse proxy to the application server.

Source: How To Set Up a Node.js Application for Production on Ubuntu 14.04 | DigitalOcean

Good tutorial. You can also do the reverse proxy with Apache.

Use Intro.js to add tours and interactive docs to JS apps

Add easy-to-absorb, interactive user documentation to your JavaScript apps with Intro.js. Learn from a sample tour implementation how to demonstrate your application’s features the modern way from within the app’s UI.

Source: Add interactive documentation to your JavaScript apps with Intro.js :: IBM developerWorks

For complex interactive apps and sites showing visitors how to use the site is always tricky. Intro.js can help by allowing you to create interactive tours that demonstrate how the app works. The tours are always available through an icon in the navigation.

Use Socket.IO P2P to connect peers for chat and more via WebRTC

Socket.IO P2P provides an easy and reliable way to setup a WebRTC connection between peers and communicate using the socket.io-protocol.

Socket.IO is used to transport signaling data and as a fallback for clients where the WebRTC PeerConnection is not supported. Adding a simple piece of middleware to your socket.io setup enables this – no need to hand roll your own signaling exchange or set up, deploy and scale new servers.

Source: Socket.IO — Socket.IO P2P

There is potential here to create a secure, non-archived chat system that would be useful for education. Add chat to a CALI eLangdell Lawbook for example, or enable law student study groups.