Learn Node.js (a JavaScript runtime for building backends and server-side applications) from the basics to production-grade: environment setup, event-driven architecture, installing node npm npx, core modules & CommonJS vs ES Modules, file I/O & streams, error handling & debugging, HTTP server, Express.js, JSON API & CORS, authentication & authorization, logging & configuration, relational vs NoSQL databases, drivers & ORMs, caching & sessions, file upload & media streaming, API testing, performance tuning & profiling, security hardening, Docker & deployment, CI/CD & observability, to a production-ready Node.js application in a total of 23 episodes.
Before writing Node.js code, you need to understand the basics of JavaScript, asynchronous programming, and HTTP. In this episode you set up Node.js via nvm, check node, npm, and npx, then run your first program as verification.

This episode digs into the history of Node.js's birth, the role of the V8 engine and the libuv library, and the event-driven architecture that lets a single thread serve thousands of connections. You also see the difference between blocking and non-blocking I/O directly.

This episode separates the roles of node as the runtime, npm as the package manager, and npx as the package launcher. You learn the structure of package.json, semver, how to add dependencies, and how to run tools temporarily without a global install.

This episode dissects the four most commonly used core modules: fs for the file system, path for path manipulation, os for system information, and events for EventEmitter. All examples run directly without installing any package.

Node.js supports two module systems: CommonJS with require and ES Modules with import. This episode compares both, explains the type field in package.json, and how to mix both systems in one project.

This episode dissects modern file I/O with fs/promises and streams for handling large files without weighing on memory. You also learn pipeline for chaining streams and readline for processing files line by line.

This episode covers strategies for handling errors in Node.js: try/catch, error-first callbacks, error events from EventEmitter, and best practices for uncaughtException. You also learn debugging with the Node Inspector and DevTools.

This episode builds your first HTTP server with the core http module: createServer, reading the method and URL from a request, sending a response with status codes and headers, and testing it all with curl from the terminal.

This episode builds manual routing with the url module, parses query strings, applies the next-based middleware pattern, and reads the request body. You create a multi-route API with pure Node.js without a framework.

This episode introduces Express as a refinement of the pure Node.js server patterns: routing with app.get and app.post, the express.json middleware, 404 handling, and error handlers. You build your first REST API with Express.
