3 arrows

Winter-Ready Savings Up To $500 Off Training 


Modern Web Development with NodeJS

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. Modern Web Development with Node.js is a comprehensive, hands-on course that provides students with a solid...

Course Code TT4615
Duration 5 days
Available Formats Classroom
5090 Reviews star_rate star_rate star_rate star_rate star_half
Course Image

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. Modern Web Development with Node.js is a comprehensive, hands-on course that provides students with a solid foundation in the latest skills and techniques for mastering and leveraging using Node.js. You will progress from a rudimentary knowledge of JavaScript and server-side development to being able to create, maintain, deploy and test your own Node.js application. You will understand the importance of transitioning to functions that return Promise objects, and the difference between fs, fs/promises and fs-extra. With this course you'll learn how to use the HTTP Server and Client objects, data storage with both SQL and MongoDB databases, real-time applications with Socket.IO, mobile-first theming with Bootstrap, microservice deployment with Docker, authenticating against third-party services using OAuth, and use some well-known tools to beef up security of Express 4.16 applications.

Skills Gained

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

  • Learn server-side JavaScript coding through the most up-to-date course on Node.js
  • Explore the latest JavaScript features, and EcmaScript modules
  • Walk through different stages of developing robust applications using Node.js

Who Can Benefit

This is an introductory level course for experienced software developers seeking to enhance and extend their core web development skillset leveraging NodeJS. Attendees should have practical experience developing basic software applications. This course provides an excellent foundation for continued learning to gain in-demand skills in in-demand skills and technologies such as Angular, React, Redux and more. This course can also be tailored for less experienced or non-developers as needed.

Course Details


This course is approximately 50% hands-on lab to 50% lecture ratio, combining engaging lecture, demos, group activities and discussions with machine-based practical labs and exercises. Student machines are required.

Course Topics

Chapter 1: About Node.js

  • The capabilities of Node.js
  • Why should you use Node.js?
  • Threaded versus event-driven architecture
  • Embracing advances in the JavaScript language
  • Node.js, the microservice architecture, and easily testable systems
  • Node.js and the Twelve-Factor app model

Chapter 2: Setting up Node.js

  • System requirements
  • Installing Node.js using package managers
  • Installing from source on POSIX-like systems
  • Installing multiple Node.js instances with nvm
  • Native code modules and node-gyp
  • Node.js versions policy and what to use
  • Editors and debuggers
  • Running and testing commands
  • NPM – the Node.js package manager
  • Node.js, ECMAScript 2015/2016/2017 and beyond

Chapter 3: Node.js Modules

  • Defining a module
  • Finding and loading CommonJS and JSON modules using require
  • Finding and loading ES6 modules using import
  • Hybrid CommonJS/Node.js/ES6 module scenarios
  • npm - the Node.js package management system
  • The Yarn package management system

Chapter 4: HTTP Servers and Clients

  • Sending and receiving events with EventEmitters
  • HTTP server applications
  • ES2015 multiline and template strings
  • HTTP Sniffer – listening to the HTTP conversation
  • Web application frameworks
  • Getting started with Express
  • Calculating the Fibonacci sequence with an Express application
  • Making HTTP Client requests
  • Calling a REST backend service from an Express application

Chapter 5: Your First Express Application

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

Chapter 6: Implementing the Mobile-First Paradigm

  • Problem – the Notes app isn't mobile friendly
  • Mobile-first paradigm
  • Using Twitter Bootstrap on the Notes application
  • Flexbox and CSS Grids
  • Mobile-first design for the Notes application
  • Building a customized Bootstrap

Chapter 7: Data Storage and Retrieval

  • Data storage and asynchronous code
  • Logging
  • Using the ES6 module format
  • Storing notes in the filesystem
  • Storing notes with the LevelUP data store
  • Storing notes in SQL with SQLite3
  • Storing notes the ORM way with Sequelize
  • Storing notes in MongoDB

Chapter 8: Multiuser Authentication the Microservice Way

  • Creating a user information microservice
  • Securely keeping secrets and passwords
  • The Notes application stack

Chapter 9: Dynamic Client/Server Interaction with Socket.IO

  • Introducing Socket.IO
  • Initializing Socket.IO with Express
  • Real-time updates on the Notes homepage
  • Inter-user chat and commenting for Notes

Chapter 10: Deploying Node.js Applications

  • Notes application architecture and deployment considerations
  • Traditional Linux Node.js service deployment
  • Node.js microservice deployment with Docker

Chapter 11: Unit Testing and Functional Testing

  • Assert – the basis of testing methodologies
  • Testing a Notes model
  • Using Docker to manage test infrastructure
  • Testing REST backend services
  • Automating test results reporting
  • Frontend headless browser testing with Puppeteer

Chapter 12: Security

  • HTTPS/TLS/SSL using Let's Encrypt
  • Put on your Helmet for across-the-board security
  • Addressing Cross-Site Request Forgery (CSRF) attacks
  • Denying SQL injection attacks
  • Scanning for known vulnerabilities
  • Using good cookie practices
Contact Us 1-800-803-3948
Contact Us
FAQ Get immediate answers to our most frequently asked qestions. View FAQs arrow_forward