Back to Courses

NodeJS Training

6 Weeks
★ Featured

Overview

This NodeJS Training program introduces learners to the open-source, event-driven JavaScript runtime built on Chrome’s V8 engine. The course focuses on server-side development using NodeJS, emphasizing non-blocking I/O, event-driven architecture, and modular programming. Participants will gain hands-on experience in building HTTP servers, managing buffers and streams, and developing web applications using Express.js and Socket.io.

Who Can Attend

Course Content

Introduction to Node.js

  • Overview of Node.js
  • RAM vs I/O Latency
  • Blocking vs Non-Blocking Operations
  • Event-Driven Programming Concepts
  • Event Loop and Blocking the Event Loop
  • Node.js Philosophy

Node.js Platform Setup

  • Downloading and Installing Node.js
  • Using Node REPL
  • Creating the First Hello World Program
  • Understanding Modules and npm
  • Anatomy of a Module
  • Using and Accessing Modules

npm and Package Management

  • npm Commands and Usage
  • Working with package.json
  • Managing Dependencies
  • Creating and Publishing Modules
  • Private and Public Code in npm

The Callback Pattern

  • Understanding Callbacks
  • Callback-last and Error-first Patterns
  • Handling Asynchronous Operations
  • Avoiding Callback Hell
  • Best Practices in Error Handling

Events and Event Emitters

  • When to Use Event Emitters
  • Binding Functions to Events
  • Event Requests and Listening
  • Handling Errors in Event Emitters
  • Uncaught Exceptions and Domains

Buffers and Data Manipulation

  • Purpose of Buffers in NodeJS
  • Creating and Using Buffers
  • Reading and Writing Data
  • Manipulating Binary Data
  • Optimizing Buffer Usage

Streams in NodeJS

  • Understanding Streams
  • Read and Write Stream API
  • Flow Control and Piping
  • Duplex and Transform Streams
  • Practical Use Cases of Streams

Building Web Applications with Express.js

  • Introduction to Express.js Framework
  • Installing and Setting Up Express
  • Building a Hello Express Application
  • Creating Routes and Handling Requests
  • Rendering Layouts, Templates, and Partials
  • Using Locals and Conditional Templates
  • Modularizing Routes

Real-Time Communication with Socket.io

  • Introduction to Socket.io
  • Listening for and Broadcasting Events
  • Real-Time Data Communication
  • Answering Client Requests
  • Building Chat and Real-Time Apps

Database Connectivity in NodeJS

  • Connecting to Databases
  • Understanding NoSQL and Document Stores
  • Working with Relational Databases
  • Platform Configuration for Database Integration
  • Performing CRUD Operations