Node.JS Development

Node.JS Development

Course contains all necessary information for building web applications with NodeJS including Express, REST, MongoDb, and many other topics.

12 hours
Course type
12 hours
Training for 7-8 or more people? Customize trainings for your specific needs
Node.JS Development
12 hours
€ 400 *
Training for 7-8 or more people? Customize trainings for your specific needs


This course includes all necessary information about Node.JS: NPM package manager, Express framework (routing, Pug template engine, middleware), REST approach, working asynchronously with NodeJS API, working with the file system, basic concepts of MongoDB, and how to use it from the Node.JS application.

Throughout the course, participants will build a real-life web application with REST API which stores data in session, files, and MongoDB database (frontend UI is provided). The course includes step-by-step solutions of the tasks and additional tasks to gain practical experience.

This program is suitable for web developers (React/Angular/Vue) and backend developers. Basic knowledge of JavaScript is required.

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


This course aims to introduce listeners to NodeJS platform and features and to demonstrate how these features can be used in practice.

Target Audience

JavaScript developers




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 Mongo Db good for?

·    Impedance mismatch (object-oriented vs. relational)

·    No impedance mismatch with MongoDB

Vladimir Sonkin
Java and Web Technologies Expert

Vladimir has more than 12 years of experience in Java Enterprise development and has been working for Luxoft since 2006, where he is now a Senior Developer involved in one of our most important banking projects.

Still have questions?
Connect with us