Skip to content

Next.js — From Zero to Hero

Next.js is a React framework for building full-stack web applications. This course covers the App Router — the current, React-Server-Components-based model (the app/ directory) — with the older Pages Router mentioned only where migration matters. It is written for developers who already know React and want to understand what Next.js actually does underneath: where code runs, how data is cached, and how a request becomes HTML.

Two things many tutorials get wrong, because Next.js’s model has shifted:

  • Components are Server Components by default. In the App Router, a component runs on the server unless the file (or an ancestor in the import chain) is marked "use client". That boundary is not per-component in isolation — everything imported into a Client Component becomes part of the client bundle. Knowing exactly where the boundary sits is the core skill of the App Router.
  • fetch is no longer cached by default. Since Next.js 15, fetch() requests and GET Route Handlers are not cached unless you opt in (cache: 'force-cache', next: { revalidate }, or the newer use cache directive). Older tutorials that say “Next.js caches all fetches automatically” describe Next.js 14 behavior. This course teaches the current defaults and the four distinct caching layers that sit behind them.
ModuleYou will learn
FoundationsWhat Next.js is, the App Router, Server vs. Client Components, file conventions
Routing & NavigationLayouts and nested routes, dynamic segments, route groups, parallel & intercepting routes, loading/error UI
Data Fetching & CachingFetching in Server Components, Request Memoization, Data Cache, Full Route Cache, Router Cache, revalidation
RenderingStatic vs. dynamic rendering, streaming with Suspense, Partial Prerendering via cacheComponents
Server Actions & MutationsServer Actions for forms and mutations, revalidatePath/revalidateTag, the client/server boundary
OptimizationImage/Font/Script components, the Metadata API, bundle analysis, Turbopack
Production & EcosystemMiddleware, auth patterns, environment config, deployment beyond Vercel

Each lesson opens with the idea in one sentence, shows real TypeScript/React and CLI examples, has a diagram of the moving parts, and ends with a one-line takeaway plus a short quiz. Work top to bottom — later modules assume the Server/Client-boundary and caching vocabulary from these first lessons.