Building Server Applications using Node.js Training Course

Building Server Applications using Node.js Training Course

Overview

Course

This workshop teaches the participants how to design and develop server side applications using the event-driven, non-blocking model framework Node.js. This program inducts the participant in some of the advanced concepts of the JavaScript language so that the participant is well equipped to build end-to-end application using JavaScript.

Objectives

At the end of this training course, the participants will:
  • Understand the non-blocking nature of Node.js 
  • Writing asynchronous code with callbacks and streams 
  • Learn how to modularize code using NPM and require() 
  • Understand and take advantage of the built-in apis for building scalable few applications 
  • Learn how to build web applications using Express.js 
  • Understand how to handle authentication and authorization 
  • Learn how to build real-time applications using WebSockets and socket.io
Day-1
  • New in ES6

oClasses
olet and const
oArrow functions
oEnhanced Object Literals
oDestructuring
oSpread Operator
oGenerators and Iterators
oSymbols
oComprehensions
oAsync Programming using Promises
oAsync Programming using Async Await
  • Introduction to Node.js
oInstalling Node.js
oNode’s Event Loop
oAlternatives to Node.js
OWriting asynchronous code
  • Unit Testing
OWriting Tests Using Mocha.js
OAssertion helpers in Chai.js
OMocks using sinon.js
OSetting up a test harness for Node applications
  • Modularizing code
OUnderstanding built-in modules
oTechniques for modularizing JavaScirpt code
oUsing require() to modularize application code
oUsing npm for third-party modules
oHandling Exceptions

  • Events and Streams
oUnderstanding Events
OEventEmitter class
OUnderstanding Streams
OReading and writing streams
OUsing pipe()

Day-2
  • Accessing Local Resources
OProcess Object
OManipulating File System
OUnderstanding Buffers
  • Node.js and the web

OHandling web requests
OBuilding a web server
OUnderstanding the need for web sockets
ORealtime interaction using socket.io
  • Building web applications using Fastify.js / Express.js
OInstalling Fastify.js / Express.js
ORouting
OParameters and queries in routing
OServing Data
ORouting
OUsing plugins (middlewares)
OWorking with cookies and sessions
OAuthentication and authorization
OError Handling
OPersisting data in the database

  • Messaging Using RabbitMQ
OIntroduction
OQueing Architecture
OInstallation & Configuration
ORabbitMQ Exchanges
ORouting
OPublisher & Subscriber of Messages
OSending & Receiving Messages

Day-3
  • Deploying Node applications

OSetting ‘ENVIRONMENT’
OSetting appropriate environment variables
OHandling appropriate logging levels
OEnsure application auto restarting
OUsing a Process Manager
OUsing PM2
OUsing a Cache Server
  • Building Microservices OMicroservices Tenants
OBuilding Microservices
OHosting Microservies in containers (Docker)

  • Scaling Node applications
OThe Child process model
Oexec, spawn, and fork functions
OUsing the Cluster module

ONode Packages
OPackages of interest
ODeciding Factors

•Debugging Node Applications ONode Inspector OUsing –-inspect switch in node OUsing ‘debug’ module OUsing the ‘debugger’ expression
Must Have
  • Experience in application development in any programming language
  • Intermediate to advanced knowledge of the JavaScript language

Good To Have
  • Exposure to any server technology (J2EE, .NET, Ruby etc)
Course ID:
BSAN


Show Schedule for: