Overview

Web development comes in many different forms and can mean many different things. This is a simple technical guide to beginning web development using some of the technologies of the currently popular "full stack": Node.js, Express, and MongoDB. Node.js provides a server-side JavaScript runtime environment; Express provides a web server built on Node.js; MongoDB provides document-based persistent data storage; finally, Git is used for version control.

This guide is designed for use on Ubuntu 18.04 (a Debian based Linux distribution), and utilizes HTML5 and JavaScript ECMAScript 6. This guide assumes the reader already has rudimentary knowledge of HTML, CSS, and JavaScript fundamentals. The following are resources that can be used to gain a solid background in those fundamentals:

Git

Git is a version control system for tracking changes in computer files and coordinating work on those files among multiple people. Git can help you determine exactly what files changed, who changed them, and why. It can be used for coordinating work among multiple people on a project, and for tracking progress over time by saving “checkpoints”. Git isn’t the only version control system out there, but it’s by far the most popular. Git projects can be hosted on many websites, including GitHub.com.

Git Installation

Git Usage

Node.js

Node.js is an open-source, cross-platform JavaScript run-time environment that executes JavaScript code server-side. Previously, JavaScript was used primarily for client-side scripting, in which scripts written in JavaScript are embedded in a webpage's HTML and run client-side by a JavaScript engine in the user's web browser. Node.js lets developers run scripts server-side to produce dynamic web page content before the page is sent to the user's web browser. Consequently, Node.js represents a "JavaScript everywhere" paradigm, unifying web application development around a single programming language, rather than different languages for server side and client side scripts. This guide deals with Node.js 4.x (version 9.11.1).

Node.js Installation

Node.js Usage

Express

Express is a web application framework for Node.js, released as free and open-source software under the MIT License. It is designed for building web applications and APIs. It has been called the de facto standard server framework for Node.js. This guide deals with Express version 4.16.3.

Express Installation

Express Usage

MongoDB

MongoDB is a free and open-source cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with schemas.

MongoDB Installation

MongoDB Usage