This is an example of a simple banner

Training: Node.js

Ref. NODEJS
Duration:
5
 jours
Exam:
Not certifying
Level:
Fondamental

Node.js Training

During this 5-day course, participants will learn how to design, test, and deploy a RESTful API with Node.js and MongoDB. The training takes a hands-on approach, focusing on building robust and secure applications tailored to professional environments. Each step is guided to help learners create a complete project, from initial setup to final deployment.

Why take a Node.js training course

The Node.js course covers the core modern technologies used by developers. Participants will explore the role of middleware, how to structure an application, and how to model data with Mongoose. They will also learn how to integrate testing, secure routes using JSON Web Tokens, and manage authentication. Finally, the course concludes with concrete deployment steps to make the project fully operational in a production environment.

Participant Profiles

  • Web developers looking to expand their skills
  • Aspiring freelancers in Node.js development
  • System administrators wanting to automate services
  • Students or career changers in web programming

Objectives

  • Built and deployed a fully functional API for an app with authentication
  • Build their own APIs
  • Turn into a professional Node developer capable of developing, testing, and deploying real-world production applications

Prerequisites

  • Basic understanding of vanilla JavaScript (variables, if statements, basic functions, basic objects)

Course Content

Module 1: Setup program

  • Introduction
  • Installing Node
  • What is Node?
  • Why should I use Node?

Module 2: Node.js basics

  • Using Require
  • Requiring your own files
  • Using third-party modules
  • Restarting the app with Nodemon
  • Getting user input
  • Simplified input with Yargs
  • Working with JSON
  • Refactoring for reusability
  • Reading notes and reusability
  • Debugging Node.js apps
  • Debugging with Chrome Dev Tools
  • Identifying notes
  • Requiring arguments and advanced arguments
  • Arrow functions

Module 3: Asynchronous Node.js

  • Asynchronous basics
  • Call stack and event loop
  • Callback functions and APIs
  • Printing objects
  • What makes up an HTTP request?
  • Encoding user input
  • Callback errors
  • Callback summary
  • Wiring up the weather
  • Chaining callbacks together
  • Intro to ES6 Promises
  • Advanced promises
  • Additional features

Module 4: Web servers and app deployment

  • Creating a web server
  • Rendering templates with data
  • Advanced templates
  • Express middleware
  • Adding version control (Git)
  • Setting up GitHub and SSH keys
  • Deploying your apps
  • Adding a new feature and deploying

Module 5: Testing your applications

  • Mocha and basic tests
  • Watch mode and auto-restart testing
  • Using an assertion library
  • Testing asynchronous code
  • Testing Express apps: Part I
  • Testing Express apps: Part II
  • Organizing tests with describe()

Module 6: MongoDB, Mongoose and REST APIs

  • Installing MongoDB and Robomongo (Windows)
  • Building a NoSQL vocabulary
  • Connecting to Mongo and writing data
  • The ObjectId
  • Fetching data
  • Setting up the repo
  • Deleting documents
  • Updating data
  • The Mongoose ORM
  • Setting up Mongoose
  • Validators, types and defaults
  • Installing Postman
  • Resource creation endpoint – POST /todos
  • Mongoose queries and ID validation
  • Deploying the API to Heroku

Module 7: Security and authentication

  • Setting up the user model
  • JWT and hashing
  • Generating auth tokens and setting headers
  • Private routes and auth middleware
  • Password hashing
  • Seeding the test database with users
  • Improving app configuration

Module 8: Real-time web apps with Socket.io

  • Creating a new project
  • Adding Socket.io to an app
  • Emitting and listening to events
  • Broadcasting events
  • Message generator and tests
  • Event acknowledgments
  • Message form and jQuery
  • Geolocation Part I
  • Geolocation Part II
  • Timestamps and formatting with Moment
  • Printing message timestamps
  • Mustache.js
  • Autoscrolling
  • Adding a page
  • Passing data
  • Socket.io Rooms
  • Storing users with ES6 classes: Part I
  • Storing users with ES6 classes: Part II
  • User list
  • Sending messages only to a Room
  • New feature ideas

Module 9: Async / Await

  • Async / Await project setup
  • Async / Await basics
  • A real-world example
  • Error handling and awaiting async functions
  • Using Async / Await in the Todo API

Documentation

  • Digital courseware included

Lab / Exercises

  • During the course participants are encouraged to actively participate in the learning experience by running example files during lectures and performing coding challenges during labs. Each lab session allows you to compare your solution to the instructor’s

Complementary Courses

Eligible Funding

ITTA is a partner of a continuing education fund dedicated to temporary workers. This fund can subsidize your training, provided that you are subject to the “Service Provision” collective labor agreement (CCT) and meet certain conditions, including having worked at least 88 hours in the past 12 months.

Additional Information

Why learn Node.js today

Web development is evolving rapidly, and companies are looking for efficient solutions to build high-performance applications.
Node.js has become an essential technology thanks to its speed and flexibility.
It enables the development of scalable applications capable of handling a large number of simultaneous connections.
The Node.js training addresses this need by providing developers with concrete, directly applicable skills.

Adopting Node.js also means joining a dynamic ecosystem supported by an active community.
This gives access to countless modules and libraries, as well as best practices shared by experts worldwide.

The technical advantages of Node.js

Node.js is built on a powerful JavaScript engine that executes code server-side.
Unlike other technologies, it relies on a non-blocking, event-driven model.
This architecture makes applications fast and suitable for environments where responsiveness is key, such as real-time services or high-load APIs.

Beyond speed, Node.js is attractive for its simplicity.
A JavaScript developer can quickly get started without learning a new language.
This continuity between front-end and back-end simplifies the management of web projects.

A practice-oriented learning experience

The Node.js training focuses on real-world use cases.
Rather than staying theoretical, it guides participants through building a complete application step by step.
From initial setup to deployment, every stage is an opportunity to work with professional tools such as Express, Postman, or GitHub.
This approach ensures immediate hands-on application of knowledge.

Learners, for example, practice managing asynchronicity, a concept often misunderstood by beginners.
They also explore async and await, which make code more readable and maintainable.
These concepts are essential for building modern, reliable applications.

Integrating MongoDB and Mongoose into projects

Databases play a central role in web application development.
With MongoDB, participants discover a flexible NoSQL system that simplifies data storage and manipulation.
Mongoose adds a modeling layer that structures information and ensures greater reliability.
The training teaches how to create, query, and secure databases while following best practices.

These skills are particularly valuable for building robust RESTful APIs.
Trained developers can thus meet the needs of complex applications requiring efficient data management.

Security at the heart of development

One of the main concerns in modern web development is security.
Vulnerabilities linked to authentication or password storage can have serious consequences.
That is why the Node.js training includes a full module on securing routes and using JSON Web Tokens.
Participants learn how to protect their applications and implement modern access management mechanisms.

This dimension is essential for any project intended for production.
It prepares learners to anticipate risks and apply professional standards.

Modern use cases of Node.js

Node.js goes beyond classic APIs.
It also enables the development of real-time applications, such as instant messaging, interactive dashboards, or collaborative systems.
Thanks to Socket.io, learners discover how to manage bidirectional communication between server and client.
These skills open the door to innovative projects tailored to today’s market needs.

Learning Node.js is therefore a long-term investment for anyone aiming to work in modern web development.

FAQ

What concrete projects will I be able to build after this training?

You will be able to create a secure API, a web server, and even a real-time application.

What is the added value compared to a simple online tutorial?

This training offers a structured framework, a logical progression, and best practices directly inspired by professional experience.

Can these skills be applied in a business environment?

Yes, the tools and methods covered are used in real-world projects and meet industry standards.

Prix de l'inscription
CHF 3'550.-
Inclus dans ce cours
  • Training provided by an industry expert
  • Digital documentation and materials
  • Achievement badge
Mois actuel

lun15Sep(Sep 15)09:00ven19(Sep 19)17:00VirtuelVirtual Etiquettes de sessionNODEJS

lun15Sep(Sep 15)09:00ven19(Sep 19)17:00Genève, Route des Jeunes 35, 1227 Carouge Etiquettes de sessionNODEJS

lun20Oct(Oct 20)09:00ven24(Oct 24)17:00VirtuelVirtual Etiquettes de sessionNODEJS

lun20Oct(Oct 20)09:00ven24(Oct 24)17:00Lausanne, Avenue Mon repos 24, 1005 Lausanne Etiquettes de sessionNODEJS

lun24Nov(Nov 24)09:00ven28(Nov 28)17:00VirtuelVirtual Etiquettes de sessionNODEJS

lun24Nov(Nov 24)09:00ven28(Nov 28)17:00Genève, Route des Jeunes 35, 1227 Carouge Etiquettes de sessionNODEJS

Contact

ITTA
Route des jeunes 35
1227 Carouge, Suisse

Opening hours

Monday to Friday
8:30 AM to 6:00 PM
Tel. 058 307 73 00

Contact-us

ITTA
Route des jeunes 35
1227 Carouge, Suisse

Make a request

Contact

ITTA
Route des jeunes 35
1227 Carouge, Suisse

Opening hours

Monday to Friday, from 8:30 am to 06:00 pm.

Contact us

Your request