Introduction to Node.JS Development

This course contains all the necessary information for building web applications with NodeJS, including Express, REST, MongoDB, and many other topics.

  • duration 12 hours
  • Language English
  • format Online
duration
12 hours
location
Online
Language
English
Code
WEB-017
price
€ 400 *

Available sessions

To be determined



Training for 7-8 or more people?
Customize trainings for your specific needs

Description

This comprehensive Node.js course is tailored for web and backend developers looking to leverage Node.js for building efficient, scalable server-side applications. Designed for those with a foundational knowledge of JavaScript, the course covers all necessary components of Node.js development, from its unique asynchronous event-driven architecture to working with the popular Express framework and MongoDB integration. Ideal for React, Angular, and Vue developers interested in expanding their skill set to the backend, this course provides step-by-step guidance and hands-on projects that help you apply your learning in real-world scenarios.

 

The course begins with an introduction to Node.js fundamentals, exploring its key features, such as the event loop and multithreaded request handling, which allow it to handle high-traffic applications effectively. You’ll gain hands-on experience with the NPM package manager, understanding how to manage project dependencies, work with CommonJS and ES module systems, and use tools like Nodemon for improved development workflows.

 

Moving forward, the course dives deep into the Express framework. You’ll learn how to set up an Express application, implement the MVC pattern for clean and maintainable code structure, and use the Pug template engine to create dynamic views. This section also includes extensive training on middleware, covering topics such as request parsing, session management, logging, and handling static files. You’ll then apply this knowledge to build RESTful services, understanding REST principles, statelessness, and data management techniques to build APIs that scale.

 

Another key area of focus is asynchronous programming. This module equips you to handle complex asynchronous operations using async/await syntax, manage errors effectively, and integrate file system operations within your applications. You’ll learn how to read from and write to files, manage asynchronous file operations, and use these skills to build a RESTful service that stores data in the file system, adding another layer of practical experience.

 

The course concludes with MongoDB integration, covering the essentials of document-based data storage and management. You’ll learn how to connect your Node.js application to MongoDB, perform CRUD operations, and utilize MongoDB’s indexing for optimized data retrieval. Through practical exercises, you’ll implement a REST API that stores and retrieves data from MongoDB, cementing your understanding of how to create scalable, data-driven applications.

 

Throughout the course, participants will develop a real-world web application featuring a REST API with data storage in sessions, files, and MongoDB. Each module includes guided, step-by-step tasks and additional exercises, allowing you to practice and solidify your understanding of each concept.

 

This Node.js course offers a thorough, practical foundation for developers aiming to build dynamic and scalable web applications, equipping them with the modern tools and techniques required in today’s backend development landscape. Whether you’re extending your skills from frontend to backend or enhancing your server-side capabilities, this course will prepare you to tackle real-world development challenges with confidence.

After completing the course, a certificate is issued on the Luxoft Training form

Objectives

The course is aimed at introducing listeners to the NodeJS platform / features and demonstrate how these features can be used in real practice.


Target Audience

  • JavaScript developers

Prerequisites

JavaScript


Roadmap

Module 1. NodeJS basics [2 hours theory]

• What is Node.JS?

• Node.JS features

• Multithreaded server request processing

• Node.JS request processing with event loop

• NPM package manager

o package.json

o package-lock.json

o NPM folders

o Semantic versioning in NPM

o NPM commands

o Nodemon

• CommonJS and ES2015 module systems

• Simple http server

• Simple http server returning JSON

Module 2. Express framework [2 hours theory, 3 hours practice]

• Minimal Express app

• MVC pattern

• Express routing

o Request params

o Request query

o App.route()

o Put router to separate module

o Response methods

• Pug template engine

o Loops in Pug

o Conditions and variables

o Each

o Template inheritance

o Block append/prepend

o Mixins

• Middleware

o What is middleware

o How to create your own middleware (example with logging)

o Middleware to work with sessions

o Body-parser to parse POST requests body

o Express structure with middleware

o Middleware to serve static files

o Restricting middleware to route

o Order of middleware calls

• Express in practice

• Rest approach

o MVC pattern with REST server

o REST requests to obtain data

o Creating data in REST

o Updating and deleting data in REST

o Returning data format, Content-Type and Accept headers

o REST API summary and use cases

o REST statelessness vs statefulness

o REST statelessness and scalability

o REST statelessness and reliability

• Using Express to create REST service

• Error handling in Express

o Default error handler

o Custom error class

• Practice: Implement REST service (keeping data in session) [2h]

Module 3. Async/await syntax. Working with file system. [1 hour theory, 1 hour practice]

• Async/await syntax

o Async/await syntax and parallel execution

o Exception processing with Async/await

o Loops with async/await

o Async/await in Express

• Working with files

o Reading from file

o Writing to the file

o Reading file with async/await syntax

o Low-level work with files

o Sync calls exception handling

o Async calls exception handling

o Listing files in folder

• Practice: Implement REST service (keeping data in files)

Module 4. Using MongoDB with NodeJS [1 hour theory, 2 hours practice]

• What is MongoDB?

• What is MongoDB good for?

• Impedance mismatch (object-oriented vs. relational)

• No impedance mismatch with MongoDB

• MongoDB vs. Relational database

o Inserting documents to MongoDB collection

o The problem: slow search in collections

o Solution: building indexes

• Finding documents in MongoDB

o Find: queries

o Find: projections

o Find: cursors

o How to implement paging

• Updating documents in MongoDB

o Update: replacing document

o Update: changing only part of the document with operators

• Using MongoDB with NodeJS

o Connecting to MongoDB from NodeJS server

o Reading data from MongoDB with Express

o Writing data to MongoDB with Express

o Deleting/updating data with Express

• Practice: Implement REST service (keeping data in MongoDB)


Vladimir Sonkin
  • Trainer

Vladimir Sonkin

Java and Web Technologies Expert


Related courses

You may also be interested in

Discover more about professional growth and skills development

contact us