3 arrows

Summer-Ready Savings: Up To $500 Off Training 

closeClose

Modern Web Development with NodeJS

  • Contact Us For Pricing
  • Reviews star_rate star_rate star_rate star_rate star_half 4119 Ratings
  • Course Code TT4615
  • Duration 5 days
  • Available Formats Classroom

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

Hands-On

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

When does class start/end?

Classes begin promptly at 9:00 am, and typically end at 5:00 pm.

Does the course schedule include a Lunchbreak?

Lunch is normally an hour long and begins at noon. Coffee, tea, hot chocolate and juice are available all day in the kitchen. Fruit, muffins and bagels are served each morning. There are numerous restaurants near each of our centers, and some popular ones are indicated on the Area Map in the Student Welcome Handbooks - these can be picked up in the lobby or requested from one of our ExitCertified staff.

How can someone reach me during class?

If someone should need to contact you while you are in class, please have them call the center telephone number and leave a message with the receptionist.

What languages are used to deliver training?

Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.

What does GTR stand for?

GTR stands for Guaranteed to Run; if you see a course with this status, it means this event is confirmed to run. View our GTR page to see our full list of Guaranteed to Run courses.

Does ExitCertified deliver group training?

Yes, we provide training for groups, individuals and private on sites. View our group training page for more information.

Does ExitCertified deliver group training?

Yes, we provide training for groups, individuals, and private on sites. View our group training page for more information.

Fantastic and great training. Tons of hands-on labs to really make you understand the material being thought.

Good Course. We covered a lot of material in a short amount of time. This course had useful labs that built upon each other.

This was a good program to get prepared for the solutions architect associate exam.

Brandon was a great instructor. The virtual course materials and labs provided were very informative.

Good training material and good instruction. More time needs to be provided for the lab work.

0 options available

There are currently no scheduled dates for this course. If you are interested in this course, request a course date with the links above. We can also contact you when the course is scheduled in your area.

Contact Us 1-800-803-3948
Contact Us
FAQ Get immediate answers to our most frequently asked qestions. View FAQs arrow_forward