Software · Series hub · 25 decks

Web Development

Twenty-five decks on building for the web: the platform, front-end frameworks, Node.js and Express, server-side templating, authentication and data, FastAPI and testing.

Who this is for. Developers learning the modern web stack, or filling gaps in it. Each deck stands alone.

How to use it. The order runs from the browser platform up to the server and its data. Each deck is a Reveal.js presentation with a Markdown version.

The reading order

  1. The platform

    01–05 · 5 entries

  2. Front-end frameworks

    06–08 · 3 entries

  3. Node.js and Express

    09–14 · 6 entries

  4. Server-side templating

    15–18 · 4 entries

  5. Authentication and data

    19–22 · 4 entries

  6. Python, testing and tools

    23–25 · 3 entries

Part 1 · 01–05The platform

Layout, types and the browser's concurrency and real-time APIs.

  1. 01
    Introduction to CSS Layout →

    Interactive presentation on CSS layout — box model, Flexbox, CSS Grid, responsive design, container queries, custom properties, logical properties, and production layout patterns

    open markdown repo

  2. 02
    Introduction to TypeScript →

    Interactive presentation on TypeScript — type system, generics, interfaces, advanced types, Node.js and Express integration, React typing, compiler configuration, and migration strategies

    open markdown repo

  3. 03
    Introduction to Web Workers →

    Interactive presentation on Web Workers — dedicated workers, shared workers, Service Workers, Cache API, offline-first architecture, and PWAs

    open markdown repo

  4. 04
    Introduction to WebSockets →

    Interactive presentation on WebSockets — RFC 6455, browser API, Node.js ws, Socket.IO, scaling, security, and real-time communication patterns

    open markdown repo

  5. 05
    Introduction to Server-Sent Events →

    Interactive presentation on Server-Sent Events — EventSource API, text/event-stream protocol, auto-reconnect, AI/LLM streaming, scaling, and security

    open markdown repo

Part 2 · 06–08Front-end frameworks

Components, state and rendering.

  1. 06
    Introduction to React →

    Interactive presentation on React — JSX, virtual DOM, components, hooks, state management, routing, performance, and the ecosystem

    open markdown repo

  2. 07
    Introduction to Angular →

    Interactive presentation on Angular — CLI, components, signals, dependency injection, RxJS, routing, forms, and production builds

    open markdown repo

  3. 08
    Introduction to Next.js →

    Interactive presentation on Next.js — App Router, React Server Components, server actions, rendering strategies, middleware, and deployment

    open markdown repo

Part 3 · 09–14Node.js and Express

The server side in JavaScript, and designing its APIs.

  1. 09
    Introduction to Node.js →

    The V8 engine, the event loop, async I/O, streams, Express middleware, npm, security and scaling to production

    open markdown repo

  2. 10
    Introduction to Express.js →

    Interactive presentation on Express.js — routing, middleware, error handling, static files, security, template engines, project structure, and Express 5

    open markdown repo

  3. 11
    Introduction to Express Middleware →

    Interactive presentation on Express middleware — request pipeline, authentication, authorisation, validation, error handling, composition patterns, and testing

    open markdown repo

  4. 12
    Express in Practice →

    Production patterns for Express: Express 5, the async error pipeline, structure at scale, validation at the boundary, auth patterns, uploads, rate limiting, jobs, contract tests, observability, security headers, graceful shutdown and Express 4 → 5 migration

    open markdown repo

  5. 13
    Introduction to REST API Design →

    Interactive presentation on REST API design — HTTP methods, resource naming, status codes, pagination, versioning, authentication, caching, HATEOAS, and Express implementation

    open markdown repo

  6. 14
    Introduction to GraphQL →

    Interactive presentation on GraphQL — schema definition, queries, mutations, subscriptions, resolvers, Apollo Server and Client, DataLoader, authentication, pagination, and performance

    open markdown repo

Part 4 · 15–18Server-side templating

Rendering HTML on the server.

  1. 15
    Introduction to Server-Side Templating →

    Interactive presentation on server-side templating — rendering pipelines, EJS, Pug, Handlebars, Nunjucks, template inheritance, security, and Express integration

    open markdown repo

  2. 16
    Introduction to EJS →

    Interactive presentation on EJS — tag syntax, control flow, layouts, partials, includes, XSS prevention, performance, caching, and production project structure

    open markdown repo

  3. 17
    Introduction to Pug →

    Interactive presentation on Pug — indentation-based syntax, mixins, template inheritance, filters, interpolation, Express integration, security, and performance

    open markdown repo

  4. 18
    Introduction to Handlebars →

    Interactive presentation on Handlebars — expressions, helpers, partials, precompilation, layouts, path expressions, security, and Express integration

    open markdown repo

Part 5 · 19–22Authentication and data

Logging users in, and talking to databases.

  1. 19
    Introduction to Web Authentication →

    Interactive presentation on web authentication — sessions, cookies, JWT, OAuth 2.0, password hashing, MFA, CSRF, CORS, RBAC, and token security

    open markdown repo

  2. 20
    Introduction to Passport.js →

    Interactive presentation on Passport.js — strategies, sessions, local auth, OAuth 2.0, Google/GitHub login, JWT, route protection, and security best practices

    open markdown repo

  3. 21
    Introduction to Node.js & Databases →

    Interactive presentation on Node.js database integration — raw SQL drivers, Knex, Prisma, Sequelize, Mongoose, migrations, transactions, connection pooling, performance, and testing

    open markdown repo

  4. 22
    Introduction to Knex →

    The chainable SQL query builder for Node.js: drivers and the connection pool, SELECT/JOIN chains, CTEs, knex.raw, the schema builder, migrations and seeds, transactions, streams, TypeScript table types, testing and N+1 traps

    open markdown repo

Part 6 · 23–25Python, testing and tools

A Python web framework, testing the whole stack, and slides on the web.

  1. 23
    Introduction to FastAPI →

    Type hints become the API: Pydantic v2, Starlette and ASGI, Depends() injection, async rules, OAuth2/JWT utilities, streaming, SQLAlchemy 2.0 async, testing with dependency_overrides, OpenAPI 3.1, deployment and observability

    open markdown repo

  2. 24
    Introduction to Testing Web Applications →

    Interactive presentation on web application testing — Jest, Supertest, React Testing Library, Playwright, Cypress, TDD, coverage, CI/CD integration, and testing patterns

    open markdown repo

  3. 25
    Introduction to Reveal.js →

    Interactive presentation on Reveal.js — slide structure, Markdown support, themes, plugins, code highlighting, speaker notes, and deployment

    open markdown repo

Related