7832  Reviews star_rate star_rate star_rate star_rate star_half

Server-side JavaScript with Node.js and Express

Accelebrate's Server-side JavaScript with Node.js and Express training teaches experienced JavaScript developers how to create server-side applications with JavaScript and Node.js, culminating with...

Read More
Course Code ACCEL-JAVA-NODE
Duration 2 days
Available Formats Classroom

Accelebrate's Server-side JavaScript with Node.js and Express training teaches experienced JavaScript developers how to create server-side applications with JavaScript and Node.js, culminating with an MVC application built on the Express framework that queries databases and calls back-end web services.

Skills Gained

All students will:

  • Learn why server-side JavaScript is useful
  • Install Node.js
  • Learn how Node.js is architected to allow high scalability with asynchronous code
  • Create basic web applications with Node.js
  • Automate tasks with Gulp
  • Build an HTTP server using the core modules in Node.js
  • Use stream I/O to efficiently serve the web pages
  • Create modules to organize the server
  • Test the reliability of the application with unit tests
  • Convert the application to an MVC framework using Express
  • Interface to a PostgreSQL and MongoDB database and a web service

Prerequisites

Node.js training attendees should have a thorough knowledge of JavaScript. They should be familiar with web server application design concepts (such as accessing databases and SOA concepts), as well as basic HTML and CSS.

Course Details

Software Requirements

  • A recent version of Google Chrome or Mozilla Firefox
  • A local installation of Node.js
  • Admin/root or sudoer privileges to install additional features during the class
  • A JavaScript development tool of your choice
  • Additional lab files that Accelebrate will provide

Node.js Training Outline

Introduction

Foundation

  • The Node.js framework
  • Installing Node.js
  • Using Node.js to execute scripts

Node Projects

  • The Node Package Manager
  • Creating a Project/Package
  • The package.json configuration file
  • Global vs. local package installation
  • Package Lock Files
  • Installing, Uninstalling, and Upgrading Packages
  • Configuring Script Commands
  • NPM and NPX Commands

HTTP

  • The HTTP protocol
  • Using the HTTP Module
  • Building an HTTP server
  • Rendering a response
  • Processing query strings
  • Configuring TLS

File System

  • Synchronous vs. asynchronous I/O
  • Path and directory operations
  • __dirname and __filename
  • Asynchronous file reads and writes

Modules

  • Modularization
  • The CommonJS and ES2015 Module specifications
  • Defining modules with exports
  • Modules are singletons
  • Creating a package
  • Module scope and construction

Express

  • Using Representational State Transfer
  • The Model-View-Controller pattern
  • Defining Jade (or Handlebars) templates
  • Building a Front-end Controller
  • Defining Routes
  • Creating Actions
  • Configuring Express to use Jade (or Handlebars)
  • Using REST
  • Reading POST data
  • Building Pages with Jade (or Handlebars)
  • Adding Middleware
  • Static Content
  • Request Body
  • Cookies
  • CORS
  • Writing Middleware

Data Sources

  • How Node.js connects to databases
  • RDBMS databases and NoSQL databases
  • Connecting to RDBMS (PostgreSQL) and NoSQL databases (MongoDB)
  • Performing CRUD operations
  • Building client requests to web services

Unit Testing

  • What is Unit Testing?
  • Unit Testing Frameworks and Libraries
  • Jest Unit Testing Framework
  • Tests and Test Suites
  • Setup/Teardown Functions
  • Assertions, Mocks, and Spies

Deployment

  • Production Deployment of Node.js App
  • PM2 Process Manager
  • Containerization of Node.js App

Conclusion