Building Server Applications using Node.js

Inquire now

Build powerful backend solutions with Building Server Applications Using Node.js, a practical training course designed for developers who want to develop server-side applications using JavaScript. The course provides a structured learning path for understanding how Node.js works and how it can be applied to create efficient, scalable, and maintainable backend solutions.

Course Overview:

This workshop provides participants with the practical knowledge and skills needed to design and develop server-side applications using Node.js, a JavaScript runtime built around an event-driven, non-blocking architecture. The training introduces the core principles of Node.js development and demonstrates how its asynchronous programming model can be used to create efficient, responsive, and scalable server applications.

Participants will also strengthen their understanding of advanced JavaScript concepts, Node.js modules, asynchronous programming, server-side application development, and backend architecture. Through practical exercises and hands-on development, learners will gain the skills needed to build end-to-end web applications using JavaScript, from the server-side logic and APIs to application integration.

Course Objectives:

  • 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

Pre-requisites:

  • Experience in application development in any programming language
  • Intermediate to advanced knowledge of the JavaScript language
  • Exposure to any server technology (J2EE, .NET, Ruby etc)

Target Audience:

  • Web developer who wants to build data intensive scalable applications using Node.js

Course Duration:

  • 21 hours – 3 days

Course Content:

Day 1 

New in ES6

  • Classes
  • let and const
  • Arrow functions
  • Enhanced Object Literals
  • Destructuring
  • Spread Operator
  • Generators and Iterators
  • Symbols
  • Comprehensions
  • Async Programming using Promises
  • Async Programming using Async Await

Introduction to Node.js

  • Installing Node.js
  • Node’s Event Loop
  • Alternatives to Node.js
  • Writing asynchronous code

Unit Testing

  • Writing Tests Using Mocha.js
  • Assertion helpers in Chai.js
  • Mocks using sinon.js
  • Setting up a test harness for Node applications

Modularizing code

  • Understanding built-in modules
  • Techniques for modularizing JavaScirpt code
  • Using require() to modularize application code
  • Using npm for third-party modules
  • Handling Exceptions

Events and Streams

  • Understanding Events
  • EventEmitter class
  • Understanding Streams
  • Reading and writing streams
  • Using pipe()

Day 2 

Accessing Local Resources

  • Process Object
  • Manipulating File System
  • Understanding Buffers

Node.js and the web

  • Handling web requests
  • Building a web server
  • Understanding the need for web sockets
  • Realtime interaction using socket.io

Building web applications using Fastify.js / Express.js

  • Installing Fastify.js / Express.js
  • Routing
  • Parameters and queries in routing
  • Serving Data
  • Routing
  • Using plugins (middlewares)
  • Working with cookies and sessions
  • Authentication and authorization
  • Error Handling
  • Persisting data in the database

Messaging Using RabbitMQ

  • Introduction
  • Queing Architecture
  • Installation & Configuration
  • RabbitMQ Exchanges
  • Routing
  • Publisher & Subscriber of Messages
  • Sending & Receiving Messages

Day 3 

Deploying Node applications

  • Setting ‘ENVIRONMENT’
  • Setting appropriate environment variables
  • Handling appropriate logging levels
  • Ensure application auto restarting
  • Using a Process Manager
  • Using PM2
  • Using a Cache Server

Building Microservices 

  • Building Microservices
  • Hosting Microservies in containers (Docker)
  • Microservices Tenants

 Scaling Node applications

  • The Child process model
  • exec, spawn, and fork functions
  • Using the Cluster module
  • Node Packages
  • Packages of interest
  • Deciding Factors

Debugging Node Applications 

  • Node Inspector
  • Using –-inspect switch in node
  • Using ‘debug’ module Using the ‘debugger’ expression
  • Summary and Closing Remarks

 

Course Customization Options

To request a customized training for this course, please contact us to arrange.

Inquire now

Best selling courses

Course Customization Options To request a customized training for this course, please contact us to arrange.

Course Customization Options To request a customized training for this course, please contact us to arrange.

Course Customization Options To request a customized training for this course, please contact us to arrange.

BUSINESS / FINANCE / BLOCKCHAIN / FINTECH

Stakeholder Collaboration

Duration 3 days – 21 hrs   Overview   This course equips participants with the skills needed to collaborate effectively with stakeholders across departments, teams, and external organizations. It focuses on identifying stakeholder needs, managing expectations, facilitating communication, resolving conflicts, and building strong, productive working relationships. Participants will learn practical frameworks, tools, and techniques to...

AI Prompt Engineering for Google Earth Engine (GEE): Remote Sensing & Geospatial Analytics equips geospatial professionals, GIS analysts, remote sensing specialists, and researchers with practical prompt engineering techniques to accelerate satellite imagery analysis, automate geospatial workflows, and generate actionable insights using AI and Google Earth Engine.   Duration 3 days – 21 hrs    Overview...

ARTIFICIAL INTELLIGENCE / MACHINE LEARNING / DEEP LEARNING

Machine Learning with MATLAB

Course Customization Options To request a customized training for this course, please contact us to arrange.

Build versatile database skills with PostgreSQL Admin and Development Training, a comprehensive program designed for database administrators, developers, software engineers, IT professionals, and technical specialists who want to manage PostgreSQL databases while developing efficient database-driven applications.   Duration 5 days – 35 hrs   Overview   This PostgreSQL Admin and Development Training Course is designed...

CYBER SECURITY

CompTIA Cloud+

Duration 5 days – 35 hrs   Overview.   The CompTIA Cloud+ training course is designed to provide a comprehensive understanding of cloud computing principles and best practices. This course focuses on the skills and knowledge needed to implement and manage cloud technologies effectively. Participants will learn about cloud infrastructure, security, scalability, virtualization, deployment models,...

We use cookies on our website to personalize your experience by storing your preferences and recognizing repeat visits. By clicking “Accept”, you agree to the use of all cookies. You can also select “Cookie Settings” to adjust your preferences and provide more specific consent. Cookie Policy