Back-end & frameworks

Node.js and Express: APIs and JavaScript servers

Create servers and REST APIs with JavaScript: modules, databases, Express and tests.

Request this program
Duration
21 h · 3 days
Level
Intermediate
Format
On site · Remote · Blended
Max. group size
12 participants

Overview

This program teaches server-side development with Node.js. After understanding the event loop and asynchronous code, participants use native APIs, npm and modules, access databases, then build a REST API with Express. The course ends with testing, deployment and a tour of the platform's recent features.

Who this program is for

  • Front-end JavaScript developers moving to the server side
  • Back-end developers discovering Node.js
  • Teams building an API for a web or mobile application

Prerequisites

  • Advanced knowledge of JavaScript (asynchronous code, modules)
  • Notions of HTTP and databases

Learning objectives

  • Explain the event loop and handle asynchronous code
  • Use native modules: file system, HTTP, events, processes
  • Manage dependencies with npm
  • Access MongoDB, PostgreSQL or Redis
  • Build a REST API with Express
  • Test and deploy a Node.js application

Detailed curriculum

6 modules · 21 h · 3 days

Day 1
Node.js and asynchronous programming3.5 h
50% theory · 50% practice
  • Why Node.js: architecture and use cases
  • Event loop and non-blocking operations
  • Callbacks, promises and async/await
  • Handling asynchronous errors
  • First server script
Native APIs and modules3.5 h🛠 1 workshop
30% theory · 70% practice
  • File system and streams
  • Events, processes and worker threads
  • CommonJS modules and ES modules
  • npm: dependencies, scripts, versions
  • Environment variables and configuration
🛠 Hands-on workshops
Command-line tool1.5 h

Write a Node.js utility that processes files.

✅ Deliverable : A command-line tool
Day 2
HTTP server and static resources3.5 h
50% theory · 50% practice
  • Native HTTP server: requests and responses
  • Manual routing and its limits
  • Serving static files
  • Server-side template engines
  • Logging
Data access3.5 h🛠 1 workshop
30% theory · 70% practice
  • Choosing a database: MongoDB, PostgreSQL, Redis
  • Connection and queries from Node.js
  • ORM and ODM: value and limits
  • Connection pool and error handling
  • Migrations and test datasets
🛠 Hands-on workshops
Data access layer1.5 h

Connect the application to a database and write the basic operations.

✅ Deliverable : A persistence module
Day 3
REST API with Express3.5 h🛠 1 workshop
30% theory · 70% practice
  • Installation and structure of an Express project
  • Routes, middleware and error handling
  • Validating incoming data
  • Token-based authentication
  • Documenting the API
🛠 Hands-on workshops
Resource management API2 h

Build a complete API with CRUD and authentication.

✅ Deliverable : A secure REST API
Tests, deployment and evolution3.5 h
50% theory · 50% practice
  • Unit and API tests
  • Containerize and deploy
  • Security: dependencies, headers, rate limiting
  • Recent Node.js features
  • Review and ways to progress

Tools and technologies

DockerJavaScriptMongoDBNode.jsPostmanVisual Studio Code

Teaching methods

  • Alternating short lectures and hands-on work
  • Live demonstrations by the trainer
  • Capstone project built throughout the modules
  • Group corrections and discussion of best practices

Assessment

  • Hands-on exercises corrected in each module
  • Mini-project completed at the end of the course
  • Knowledge-check quiz

Required equipment

  • A computer with an internet connection
  • Node.js installed, a code editor and an API testing tool (Postman or equivalent)

Resources provided

  • Course materials and repository of corrected exercises

Career outcomes

  • A working, tested and documented REST API
  • A clean Node.js project architecture
  • Basic server-side security reflexes