Course Catalog
Introduction to Node.JS | JumpStart to Node.JS (TT4153)
Code: TT4153
Duration: 3 Day
$2195 USD

OVERVIEW

Node.js is a server-side JavaScript platform using an event-driven, non-blocking I/O model allowing users to build fast and scalable data-intensive applications running in real time.

Introduction to Node.js is a fast-paced hands-on jumpstart right to the core skills required to developing web applications with Node.js. Participants will progress from a rudimentary knowledge of JavaScript and server-side development to being able to create, maintain and test their own Node.js applications. Students will explore the importance of transitioning to functions that return Promise objects, and the difference between fs, fs/promises and fs-extra. Students will also how to use the HTTP Server and Client objects, and data storage with both SQL and MongoDB databases.

DELIVERY FORMAT

This course is available in the following formats:

Virtual Classroom

Duration: 3 Day
Classroom

Duration: 3 Day

CLASS SCHEDULE
Call 800-798-3901 to enroll in this class!

GOALS

Working in a hands-on learning environment, guided by our expert team, attendees will learn to:

  • Learn server-side JavaScript coding through Node.js
  • Explore the latest JavaScript features, and ECMAScript modules
  • Walk through different stages of developing robust applications using Node.js
  • Install and use Node.js for development
  • Use the Express application framework
  • Work with REST service development using the Restify framework
  • Use data storage engines such as MySQL, SQLITE3, and MongoDB
OUTLINE

Lesson: Overview of Node.js

  • The capabilities of Node.js
  • Why should you use Node.js?
  • The Node.js event-driven architecture
  • Embracing advances in the JavaScript language
  • Developing microservices or maxiservices with Node.js

Lesson: Setting Up Node.js

  • System requirements
  • Installing Node.js using package managers
  • Installing from the source on POSIX-like systems
  • Installing multiple Node.js instances with nvm
  • Requirements for installing native code modules
  • Choosing Node.js versions to use and the version policy
  • Choosing editors and debuggers for Node.js
  • Running and testing commands
  • Advancing Node.js with ECMAScript 2015, 2016, 2017, and beyond
  • Using Babel to use experimental JavaScript features

Lesson: Exploring Node.js Modules

  • Defining a Node.js module
  • Finding and loading modules using require and import
  • Using npm – the Node.js package management system
  • The Yarn package management system

Lesson: HTTP Servers and Clients

  • Sending and receiving events with EventEmitter
  • Understanding HTTP server applications
  • HTTP Sniffer – listening to the HTTP conversation
  • Web application frameworks
  • Getting started with Express
  • Creating an Express application to compute Fibonacci numbers
  • Making HTTPClient requests
  • Calling a REST backend service from an Express application

Lesson: Your First Express

Application

  • Exploring Promises and async functions in Express router functions
  • Architecting an Express application in the MVC paradigm
  • Creating the Notes application
  • Theming your Express application
  • Scaling up – running multiple Notes instances

Lesson: Implementing the Mobile

First Paradigm

  • Understanding the problem – the Notes app isn't mobile friendly
  • Learning the mobile-first paradigm theory
  • Using Twitter Bootstrap on the Notes application
  • Flexbox and CSS Grids
  • Mobile-first design for the Notes application
  • Using third-party custom Bootstrap themes

Lesson: Data Storage and Retrieval

  • Remembering that data storage requires asynchronous code
  • Logging and capturing uncaught errors
  • Storing notes in a filesystem
  • Storing notes with the LevelDB datastore
  • Storing notes in SQL with SQLite3
  • Storing notes the ORM way with Sequelize
  • Storing notes in MongoDB

Lesson: Overview of Node.js

  • The capabilities of Node.js
  • Why should you use Node.js?
  • The Node.js event-driven architecture
  • Embracing advances in the JavaScript language
  • Developing microservices or maxiservices with Node.js

Lesson: Setting Up Node.js

  • System requirements
  • Installing Node.js using package managers
  • Installing from the source on POSIX-like systems
  • Installing multiple Node.js instances with nvm
  • Requirements for installing native code modules
  • Choosing Node.js versions to use and the version policy
  • Choosing editors and debuggers for Node.js
  • Running and testing commands
  • Advancing Node.js with ECMAScript 2015, 2016, 2017, and beyond
  • Using Babel to use experimental JavaScript features

Lesson: Exploring Node.js Modules

  • Defining a Node.js module
  • Finding and loading modules using require and import
  • Using npm – the Node.js package management system
  • The Yarn package management system

Lesson: HTTP Servers and Clients

  • Sending and receiving events with EventEmitter
  • Understanding HTTP server applications
  • HTTP Sniffer – listening to the HTTP conversation
  • Web application frameworks
  • Getting started with Express
  • Creating an Express application to compute Fibonacci numbers
  • Making HTTPClient requests
  • Calling a REST backend service from an Express application

Lesson: Your First Express

Application

  • Exploring Promises and async functions in Express router functions
  • Architecting an Express application in the MVC paradigm
  • Creating the Notes application
  • Theming your Express application
  • Scaling up – running multiple Notes instances

Lesson: Implementing the Mobile

First Paradigm

  • Understanding the problem – the Notes app isn't mobile friendly
  • Learning the mobile-first paradigm theory
  • Using Twitter Bootstrap on the Notes application
  • Flexbox and CSS Grids
  • Mobile-first design for the Notes application
  • Using third-party custom Bootstrap themes

Lesson: Data Storage and Retrieval

  • Remembering that data storage requires asynchronous code
  • Logging and capturing uncaught errors
  • Storing notes in a filesystem
  • Storing notes with the LevelDB datastore
  • Storing notes in SQL with SQLite3
  • Storing notes the ORM way with Sequelize
  • Storing notes in MongoDB
LABS

This hands-on course focuses on ‘learning by doing’, combining expert lecture, practical demonstrations and group discussions with plenty of machine-based real-world programming labs and exercises. Student machines are required.

This hands-on course focuses on ‘learning by doing’, combining expert lecture, practical demonstrations and group discussions with plenty of machine-based real-world programming labs and exercises. Student machines are required.

WHO SHOULD ATTEND
PREREQUISITES

Incoming attendees are required to have current, hands-on experience in developing basic web applications. Student should have some experience with HTML and CSS and be well versed in JavaScript. Experience with coding for the server side would be helpful. Some general database knowledge would also be helpful.