Securing Web Apps: Password Hashing, RBAC, OAuth 2.0, and OpenID Connect Explained
Secure web apps with bcrypt password hashing, role-based access control, OAuth 2.0 and OpenID Connect, with code and diagrams.
Server-side JavaScript: how the event loop and non-blocking I/O work, building HTTP APIs with Express, middleware, file uploads, authentication with sessions and JWTs, and talking to databases with Prisma and Drizzle.
16 articles
From installing Node.js to understanding why a single thread can serve many requests, and the event loop details that surprise people.
6 partsBuilding APIs with ExpressBuild an HTTP API step by step: routes, parameters, middleware, REST conventions, TypeScript, file uploads and JWT authentication.
7 partsSecure web apps with bcrypt password hashing, role-based access control, OAuth 2.0 and OpenID Connect, with code and diagrams.
Prisma vs Drizzle for TypeScript: SQL vs NoSQL, data modeling, migrations, and how to choose the right database tool for your project.
Learn how blocking code kills Node.js server performance and how non-blocking async I/O fixes it. Real file and DB examples with benchmarks.
Learn REST API design with Express.js. Build a users API with GET, POST, PUT, DELETE routes, correct status codes, and clean route conventions.
Learn what Express middleware is, how next() controls the request pipeline, and see real examples for logging, auth, and validation.
Learn how to handle single and multiple file uploads in Express using Multer. Covers storage config, validation, error handling, and serving files.
Learn what Node.js is, how V8 and libuv power it, and why its event-driven model makes it ideal for I/O-heavy server-side applications.
Learn how JWT works and implement stateless authentication in Node.js with Express — login flow, route protection, and complete working code.
Learn how to create routes and handle GET/POST requests in Express.js. Includes raw Node.js comparison, complete working code, and routing best practices.
Install Node.js, use the REPL, run your first script, and build a working HTTP server from scratch — no frameworks, no dependencies.
Learn how Node.js uses the event loop and libuv to handle thousands of concurrent requests on a single thread — with real code examples.
Learn the difference between URL parameters and query strings in Express.js, when to use each, and how to access them with real working code examples.
Understand the real differences between sessions, JWTs, and cookies. Learn when to use each auth approach with working Node.js
Learn why async code exists in Node.js, how callbacks work, why they fail at scale, and how Promises solve it with real, runnable examples.
TypeScript catches Express bugs at compile time, not in production. This guide sets up strict typing, hot-reload dev workflow, and a compiled producti
Why setImmediate sometimes runs before setTimeout(fn, 0) in Node.js and sometimes after: the event loop phases and timer precision behind it.