FastAPI - Type-Driven APIs with Automatic Validation and Docs
Master FastAPI at engineering depth - ASGI foundations, Pydantic validation, dependency injection, middleware, response models, background tasks, testing, and router organisation for production APIs.
Flask - Building REST APIs the Right Way
Master Flask at engineering depth - application factory pattern, request context proxies, routing, Blueprints, error handlers, testing with test_client, configuration management, and the extension ecosystem for building production-grade REST APIs.
HTTP Deep Dive - What Actually Travels Over the Wire
Master HTTP/1.1 at the byte level - request/response wire format, method semantics, status code families, critical headers, connection pooling, the requests and httpx libraries, HTTP/2 multiplexing, and why every production client needs explicit timeouts.
JSON Serialization - Production-Grade Encoding and Decoding
Master JSON serialization in Python at engineering depth - custom encoders, datetime/Decimal/UUID handling, orjson and msgspec for high-throughput APIs, NDJSON streaming, content negotiation, and why float precision silently destroys financial data.
Middleware - Wrapping Every Request and Response
Master middleware at engineering depth - WSGI vs ASGI middleware, the onion model, request ID propagation, timing, structured logging, CORS, rate limiting with Redis, JWT authentication, and when to use middleware vs dependency injection.
Module 06 - APIs and Web Basics
Master HTTP at the wire level, REST design principles, Flask, FastAPI, request/response lifecycle, middleware, JSON serialization, and Pydantic validation - the complete engineering foundation for building production web APIs in Python.
Module 06 Projects - Overview
Two production-focused projects for Module 06 - a fully tested Task Management REST API with FastAPI and SQLAlchemy, and a local deployment stack with Docker, Nginx, PostgreSQL, and Alembic migrations.
Project 01 - Task Management REST API
Build a production-quality Task Management REST API with FastAPI, Pydantic v2, SQLAlchemy, pytest TestClient, RFC 7807 error responses, request ID middleware, and Docker - full CRUD, pagination, filtering, and OpenAPI docs.
Project 02 - Local Deployment Setup
Configure a production-like local deployment stack for the Task Management API - multi-stage Dockerfile, Docker Compose with Nginx and PostgreSQL, Alembic migrations, Pydantic BaseSettings, health checks, graceful shutdown, and a Makefile for operations.
Request-Response Lifecycle - Every Step From Client to Handler and Back
Trace an HTTP request through its full 15+ step lifecycle - DNS, TCP, TLS, load balancer, reverse proxy, ASGI server, middleware, routing, validation, handler, serialisation, and response - with production debugging techniques.
REST Principles - Designing APIs That Don't Break Clients
Master REST at engineering depth - Roy Fielding's six constraints, uniform interface, URL design, HTTP method semantics, status codes, pagination patterns, versioning strategies, RFC 7807 error format, and the Richardson Maturity Model.
Validation with Pydantic - Production Request and Response Models
Master Pydantic v2 at engineering depth - BaseModel, Field constraints, field and model validators, ORM mode, discriminated unions, partial updates for PATCH endpoints, JSON Schema generation, and the model_dump gotchas that silently corrupt production data.