Node.js

Node.js course — Prowid
Course duration
2 months / 16 lessons
Individual
Per month 200 AZN
Group
Per month 150 AZN
Paying for the full course in a group
15% discount
Installments
50/50
Subscription
from 30 AZN a month
Node.js lets you build server applications, APIs and real-time services in JavaScript. Become a full-stack developer using your frontend knowledge.

Enrollment for a new group is open — send a request to reserve your seat

Lessons are taught live in Azerbaijani and Russian.

Or study on your own in your personal account → with a subscription from 30 AZN a month

Course Curriculum

Introduction to Node.js: event loop, npm, ES modules
Built-in modules: fs, path, events, streams
HTTP server and REST principles
Express 5: routes, middleware, error handling
Validation (Zod) and configuration (.env)
PostgreSQL and Prisma ORM
MongoDB and Mongoose
Authentication: JWT, bcrypt, cookies
File uploads and sending e-mail
Real-time apps: WebSocket and Socket.io
Node.js and TypeScript
Testing: node:test, Vitest, Supertest
Getting started with NestJS
Deployment: Docker and the cloud
Final project: a REST API and a real-time chat
How do we teach?

Learning stages

01

Webinar

Students join the lesson live. At the end of each lesson, students are sent a video recording of the class.

02

Homework

Every assignment is based on the topic covered in the webinar. Homework helps you reinforce the material and understand it better.

03

Working with a mentor

The teacher stays in touch with the group both during the course and outside class. Any questions get answered right away.

04

Portfolio

During the course you'll complete several projects on different topics — they'll show employers what you can do.

Self-paced learning

The full curriculum in your personal account

123 topics with theory, examples and practice. The first 4 are free, the rest come with a subscription. Interactive lessons with slides and coding trainers: 111.

Getting Started with Node.js7 topics
  1. What Is Node.js: V8, libuv and Server-Side JavaScript
  2. Installing Node.js with nvm: LTS and Current Releases
  3. The REPL and Running Scripts: node, --watch and --eval
  4. The Node.js Event Loop and Non-Blocking I/O
  5. Event Loop Queues: process.nextTick, Microtasks and setImmediate
  6. Async in Node: Error-First Callbacks, promisify and async/await
  7. Debugging Node.js: --inspect, Chrome DevTools and VS Code
Modules and npm7 topics
  1. CommonJS Modules: require, module.exports and the Module Cache
  2. ES Modules in Node.js: import, export and the type Field
  3. ESM in Practice: import.meta.dirname, JSON Imports and CommonJS Interop
  4. package.json: npm init and Key Fields
  5. npm Dependencies: semver, the Lock File and npm ci
  6. npm Scripts, node --run and npx
  7. pnpm and Corepack: Alternative Package Managers
Node.js Core Modules11 topics
  1. The path Module: Cross-Platform File Paths
  2. fs/promises: Reading and Writing Files
  3. fs: Directories, File Info and Watching for Changes
  4. The os and url Modules: System Info and URL Parsing
  5. The events Module: EventEmitter and Event-Driven Design
  6. The util Module: promisify, inspect, styleText and More
  7. Promise-Based Timers and Cancellation with AbortController
  8. The crypto Module: Hashes, HMAC, Random Values and Encryption
  9. child_process: Running External Commands and Processes
  10. worker_threads: Heavy Computation Without Blocking the Event Loop
  11. Project: File Organizer Script
Buffers and Streams6 topics
  1. Buffer: Binary Data and Encodings
  2. Readable Streams: Processing Data in Chunks
  3. Writable Streams and Backpressure
  4. pipeline and zlib: Reliable Stream Chains and Compression
  5. Transform Streams and readline: Line-by-Line Processing
  6. Project: Large Log File Analyzer with Streams
The Process and CLI Applications6 topics
  1. The process Object: argv, env, cwd and Process Info
  2. Exit Codes, Signals and Graceful Process Termination
  3. Environment Variables and .env: --env-file and process.loadEnvFile
  4. Your First CLI App: Shebang, bin, util.parseArgs and Commander
  5. Interactive CLI: readline, Inquirer and Colored Output
  6. Project: CLI Task Manager
HTTP Servers in Plain Node.js7 topics
  1. How HTTP Works: Requests, Responses, Methods, Headers and Statuses
  2. The http Module: Your First Server with createServer
  3. Manual Routing: URLs, Methods and Path Parameters
  4. Request Bodies and JSON Responses in an http Server
  5. Serving Static Files: MIME Types, Streams and Path Safety
  6. Built-in fetch: Calling External APIs from Node.js
  7. Project: Static File Server with the http Module
Express 58 topics
  1. Getting Started with Express 5: Your First App
  2. Routing in Express: Methods, Paths and express.Router
  3. Request and Response in Express: params, query, body and res Methods
  4. Express Middleware: The Request Processing Chain
  5. Error Handling in Express 5
  6. Static Files in Express: express.static and SPAs
  7. EJS Templates: Server-Side Rendering in Express
  8. Express Project Structure: Routes, Controllers and Services
REST APIs, Validation and Documentation8 topics
  1. REST Principles: Resources, URLs and Method Semantics
  2. Status Codes and a Consistent Error Format in APIs
  3. Pagination, Filtering and Sorting in REST APIs
  4. API Versioning and Evolving an API Without Breaking Clients
  5. Zod: Schemas and Data Validation
  6. Validating Express Requests with Zod Middleware
  7. Documenting APIs: OpenAPI and Swagger UI
  8. Project: Notes REST API with Express
PostgreSQL with Prisma and Drizzle9 topics
  1. PostgreSQL for Node Developers: Running in Docker and SQL Basics
  2. The pg Driver: Connection Pools and Parameterized Queries
  3. Prisma ORM: Setup and Defining the Data Schema
  4. Prisma Migrations and Seeding the Database
  5. CRUD Queries in Prisma: Filtering, Sorting and Pagination
  6. Relations in Prisma: One-to-Many, Many-to-Many and One-to-One
  7. Transactions and Error Handling in Prisma
  8. Drizzle ORM: A SQL-Like Alternative to Prisma
  9. Project: Blog API with PostgreSQL and Prisma
MongoDB and Mongoose6 topics
  1. MongoDB: The Document Model and Getting Started
  2. Mongoose: Schemas, Models and Built-In Validation
  3. Mongoose Queries: CRUD, Operators and lean()
  4. Relations in MongoDB: Embedding, References and populate
  5. Mongoose: Indexes, Middleware Hooks and Aggregation
  6. Project: Product Catalog API with MongoDB
Authentication, Authorization and Security12 topics
  1. Authentication and Authorization: Core Concepts and Approaches
  2. Storing Passwords: bcrypt, Sign-Up and Login
  3. Cookies and Sessions: express-session and Session Stores
  4. JWT: Token-Based Authentication and Protecting Routes
  5. Access and Refresh Tokens: Rotation, Logout and Revocation
  6. Authorization: Roles, Permissions and Resource Ownership
  7. OAuth 2.0 and Sign-In with Google
  8. Helmet and Security Headers
  9. CORS: How It Works and How to Configure It Properly
  10. Rate Limiting: Protection Against Brute Force and Overload
  11. OWASP Top 10 for Node.js: Injections, XSS and Untrusted Input
  12. Project: JWT Authentication Service
Files, Email, Caching and Background Jobs7 topics
  1. File Uploads in Express: multer
  2. Image Processing with sharp and S3 Cloud Storage
  3. Sending Email: Nodemailer, SMTP and Templates
  4. Email Verification and Password Reset with One-Time Tokens
  5. Redis: Caching Responses and Data
  6. Background Jobs and Queues with BullMQ
  7. Project: Avatar and Notification Service with a Queue
Real-Time: WebSocket and Socket.IO6 topics
  1. Real-Time on the Web: Polling, Server-Sent Events and WebSocket
  2. A WebSocket Server with the ws Library
  3. Socket.IO: Events, Acknowledgements and the Client
  4. Socket.IO: Rooms, Namespaces and Private Messages
  5. Socket.IO in Production: Authentication and Scaling
  6. Project: Real-Time Chat with Socket.IO
Testing6 topics
  1. The Built-In Test Runner node:test and the assert Module
  2. Vitest: Unit Tests, expect and Code Coverage
  3. Mocks and Test Doubles: vi.fn, vi.mock and Fake Timers
  4. API Integration Tests with supertest
  5. Testing with a Database: Test DB, Fixtures and Isolation
  6. Project: Authorization and a Test Suite for the Blog API
TypeScript, Fastify and NestJS6 topics
  1. TypeScript in Node.js: tsx, tsconfig and Running Without a Build
  2. A Typed Express API with TypeScript
  3. Fastify: A Fast Framework with Plugins and Schemas
  4. Getting Started with NestJS: Modules, Controllers and Providers
  5. NestJS: DTOs and Validation, Pipes, Guards and Interceptors
  6. NestJS: Configuration, Prisma and Swagger
Production: Configuration, Logging, Performance and Deployment11 topics
  1. Configuration and Secrets: Validating the Environment and 12-Factor
  2. Logging with pino: Structured Logs and Request IDs
  3. Health Checks and Graceful Server Shutdown
  4. Node.js Performance: Profiling and Memory Leaks
  5. Scaling: The cluster Module and Stateless Apps
  6. PM2: Running and Managing a Node.js App on a Server
  7. Docker for Node.js: Dockerfile and Multi-Stage Builds
  8. Docker Compose: App, PostgreSQL and Redis Together
  9. Nginx as a Reverse Proxy: Domain, HTTPS and WebSocket
  10. CI/CD: Tests and Deployment with GitHub Actions
  11. Final Project: REST API with Real-Time Chat and Deployment

Group and individual classes include a teacher, homework review and a certificate. The subscription gives you materials, exercises and progress tracking at your own pace, without teacher feedback.

Node.js course: how to enroll

Fill in the form and we will tell you the start date of the next group, the schedule and payment terms. Or come to a free trial lesson first.

WhatsApp