Next.js Full-Stack
Build complete full-stack apps with Next.js 15 and the App Router. Server Components, routing, data fetching, Server Actions, API routes, a database-backed CRUD feature, auth, and a secure production deploy — with validation and security woven throughout.
Why learn Next.js Full-Stack?
React teaches you to build interfaces. Next.js is how those interfaces become complete applications with routing, data fetching, and a server, all in one framework. Next.js Full-Stack covers Next.js 15 and the App Router as it is actually written today.
It is 8 modules: getting started with the App Router and the Server Component mental model, file-based routing and layouts, the use client boundary and managing state in client islands, data fetching with caching and Suspense, forms and Server Actions, route handlers for real JSON APIs, a database-backed CRUD feature wired up with Prisma, and authentication, middleware, and production deployment.
The final module ends with a capstone, Capstone: Ship a Full-Stack Feature, that designs a complete per-user Tasks feature end to end. There is no new syntax in it, just deciding which Next.js primitive to reach for at each step, which is the skill that actually matters on the job.
Who this course is for
- React Essentials graduates ready to build complete, deployed applications
- Developers who know components and state but have never built a full-stack app
- Anyone who wants to understand Server Components, not just copy them from a template
- Front-end developers moving toward full-stack or backend-adjacent roles
What you'll build and practice
- File-based routes, layouts, and dynamic routes structured the App Router way
- Server and Client Components composed correctly, with state managed in the right place
- Forms that mutate data through validated, authorized Server Actions
- A real JSON API built with route handlers, including validation and CORS
- A database-backed CRUD feature with Prisma, secured with auth and middleware, capped by the course capstone
What you'll learn
Next.js Full-Stack is organized into 8 focused modules. By the end you'll be comfortable with:
- Getting Started
- Routing & Navigation
- Server & Client Components
- Data Fetching & Rendering
- Forms & Server Actions
- Route Handlers (APIs)
- Full-Stack with a Database
- Auth, Middleware & Production
Course curriculum
32 lessons across 8 modules. Lessons marked Free preview are readable without an account.
Module 1. Getting Started
What Next.js is, the App Router, and the Server Component mental model
- 7mWhat is Next.js?Free preview
Why Next.js exists, what 'full-stack React' means, and how the App Router changes the game.
- 8mThe App Router & Project StructureFree preview
How folders become URLs, the special file names, and the root layout every app needs.
- 8mServer Components by Default
The single biggest mental shift in modern Next.js: your components run on the server unless you opt out.
- 7mPractice: Next.js Foundations
Consolidate Module 1 — the App Router, folders-as-routes, special files, and the Server-Component-by-default model — with a round of mixed challenges.
Module 2. Routing & Navigation
File-based routing, layouts, dynamic routes, and the special files
- 8mPages, Layouts & Nested Routes
How nested layouts compose into a shell, and how to share UI across a section of your app.
- 9mDynamic Routes & Params
Build routes like /blog/[slug], read params and searchParams (async in Next.js 15), and validate untrusted URL input.
- 8mNavigation, Loading & Error Files
Client-side navigation with <Link>, programmatic routing with useRouter, and the loading/error/not-found special files.
- 8mPractice: Routing & Navigation
Drill Module 2 — nested layouts, dynamic and catch-all routes, awaiting params/searchParams, <Link> vs <a>, and the loading/error/not-found files.
Module 3. Server & Client Components
The 'use client' boundary and how to compose the two
- 9mThe 'use client' Boundary
What 'use client' really does, why it's a boundary (not a per-component flag), and how to keep client bundles small.
- 9mComposing Server & Client Components
Pass Server Components into Client Components as children, understand prop serialization, and avoid the common composition mistakes.
- 10mState, Effects & Context in Client Islands
Inside a Client Component: use state and effects correctly, avoid hydration mismatches, and share state app-wide with a Context provider — without turning your whole app into client code.
- 8mPractice: Server & Client Components
Drill the boundary — where 'use client' goes, server→client composition, serializable props, hydration, and Context providers.
Module 4. Data Fetching & Rendering
Async Server Components, caching, revalidation, and streaming with Suspense
- 9mFetching Data in Server Components
Async/await data fetching directly in components, parallel vs sequential requests, and avoiding the fetch waterfall.
- 10mCaching & Revalidation
Static vs dynamic rendering, the Next.js 15 caching defaults, and controlling freshness with revalidate and cache options.
- 9mStreaming with Suspense
Stream a page in pieces so fast content shows immediately while slow content loads — using Suspense boundaries.
- 8mPractice: Data Fetching & Rendering
Drill Module 4 — async server fetching, parallel vs sequential requests, the Next.js 15 caching defaults, revalidation, and Suspense streaming.
Module 5. Forms & Server Actions
Mutate data from forms with Server Actions — validated, sanitized, and authorized
- 9mServer Actions Basics
Run server code straight from a form with 'use server' — no API endpoint, no fetch, no client JavaScript required.
- 11mValidating & Sanitizing Input with Zod
Never trust the client: parse FormData with Zod, enforce types and limits, strip dangerous content, and authorize the user — all inside the action.
- 10mForm State, Pending UI & Revalidation
Wire actions to React's useActionState for errors and results, show pending state with its isPending flag, and refresh data with revalidatePath.
- 8mPractice: Forms & Server Actions
Drill Module 5 — 'use server', treating actions as public endpoints, Zod validation, authorization, useActionState, and revalidatePath.
Module 6. Route Handlers (APIs)
Build real JSON/REST endpoints under app/api with validation and error handling
- 10mBuilding API Routes with Route Handlers
Create real JSON endpoints in route.ts using the Web Request/Response APIs, and know when to use them instead of Server Actions.
- 9mDynamic API Routes & Error Handling
Build /api/notes/[id] endpoints, read dynamic params, handle errors with correct status codes, and avoid leaking internal details.
- 10mRequest Data: Headers, Cookies & CORS
Read headers and cookies in a Route Handler, authenticate API callers, and understand CORS — why a browser blocks cross-origin calls and how to allow the ones you trust.
- 8mPractice: Route Handlers
Drill Module 6 — route.ts endpoints, status codes, body/param validation, error handling, and CORS.
Module 7. Full-Stack with a Database
Wire up Prisma, build a CRUD feature, and keep queries injection-safe
- 10mConnecting a Database with Prisma
Model data with the Prisma schema, generate a typed client, and set up the singleton pattern that avoids exhausting connections in dev.
- 11mBuilding a CRUD Feature (Safely)
Wire Server Components and Server Actions to Prisma for full create/read/update/delete — and see why Prisma queries are injection-safe by default.
- 9mMutations & Optimistic UI
Make mutations feel instant with useOptimistic while the server confirms — and roll back automatically if the action fails.
- 8mPractice: Full-Stack with a Database
Drill Module 7 — Prisma setup, the singleton, user-scoped queries, injection safety, and optimistic UI.
Module 8. Auth, Middleware & Production
Middleware route protection, secure cookies/sessions, env vars, and deployment
- 9mMiddleware & Route Protection
Run code before a request completes — redirect unauthenticated users, add headers — and understand why middleware is a first gate, not the only check.
- 10mCookies, Sessions & Auth Basics
Read and set cookies with the async cookies() API, and store sessions securely with httpOnly, secure, and sameSite flags.
- 10mEnvironment Variables, Security & Deployment
Keep secrets server-only, understand the NEXT_PUBLIC_ rule, apply a production security checklist, and deploy your full-stack app.
- 12mCapstone: Ship a Full-Stack Feature
Assemble everything — routing, Server/Client Components, data fetching, Server Actions, a database, and auth — into one coherent blueprint for a real feature, and make the architectural calls a full-stack dev makes.
Frequently asked questions
- Do I need to finish React Essentials before starting Next.js Full-Stack?
- Yes. This course assumes you are comfortable with components, props, state, and hooks. Next.js adds routing, rendering strategy, and a server layer on top of React itself, so shaky React fundamentals make those additions much harder to absorb.
- What is the difference between Server Components and Client Components in this course?
- Module 3 is dedicated to exactly this: the use client boundary, when to reach for each type, and how to compose them together while managing state, effects, and context correctly inside client islands.
- Does the course cover connecting to a real database, not just static pages?
- Yes, Module 7, Full-Stack with a Database, wires up Prisma and builds a complete CRUD feature with injection-safe queries. It is not a front-end-only course.
- Is there a complete project I build by the end?
- Yes, the capstone in Module 8, Capstone: Ship a Full-Stack Feature, designs a full per-user Tasks app end to end: listing, adding, toggling, and deleting tasks, using the right Next.js primitive at each decision point.
- Does the course teach how to actually deploy the finished app?
- Yes. Module 8 also covers middleware route protection, secure cookies and sessions, environment variables, and deployment, so the course ends with a production-ready application, not just working code in development.
Ready to start Next.js Full-Stack?
Create a free account to track progress, earn XP, and get instant help from the AI tutor as you code.
Create your free account