Next.js
Curriculum
Next.js · React included

Next.js Tutorial

A complete Next.js App Router path from beginner to pro - with every React skill taught inside Next.js when you need it. No separate React course required.

65 lessonsBeginner → ProFull-stack
Start from the beginning

Curriculum

Work through each section in order. Every lesson ends with practice and key points so the idea sticks.

Beginner

Getting Started

5 lessons · ~43 min
  1. 1
    What is Next.js?

    Learn what Next.js is, what it adds to React, and why it is popular for modern web apps.

  2. 2
    Learn Next.js Without a React Course First

    Understand why you can learn React concepts directly while learning Next.js.

  3. 3
    Install & Create a Next.js App

    Set up your tools and create a new Next.js app with the official starter command.

  4. 4
    Project Structure (App Router)

    Learn the important files and folders in a modern Next.js App Router project.

  5. 5
    Dev Server, Files & Hot Reload

    Learn the daily workflow for editing files and seeing changes in a Next.js app.

Beginner

React Essentials Inside Next.js

5 lessons · ~50 min
  1. 6
    JSX: The Language of Next.js Pages

    Learn how JSX lets you write page UI with HTML-like syntax inside TypeScript files.

  2. 7
    Your First Page

    Create a home page and understand how App Router turns files into routes.

  3. 8
    Components

    Split a Next.js page into reusable React components.

  4. 9
    Props

    Pass information into components with props and TypeScript types.

  5. 10
    children & Composition

    Use children to place content inside reusable wrapper components and layouts.

Beginner

Building the UI

3 lessons · ~30 min
  1. 11
    Styling in Next.js

    Learn beginner-friendly ways to style Next.js pages and components.

  2. 12
    Images with next/image

    Use the Next.js Image component for optimized, responsive images.

  3. 13
    Fonts with next/font

    Load fonts with the built-in Next.js font system.

Beginner

Routing Foundations

5 lessons · ~53 min
  1. 14
    Links & Navigation

    Navigate between App Router pages with the Next.js Link component.

  2. 15
    Layouts & Nested Layouts

    Use App Router layouts to share UI across pages and route groups.

  3. 16
    File-based Routing

    Learn how folders and page.tsx files create routes in the App Router.

  4. 17
    Dynamic Routes

    Use bracket folders to create pages for changing values like slugs and IDs.

  5. 18
    not-found & error.js

    Show friendly 404 and error UI in App Router routes.

Beginner

Interactivity

6 lessons · ~71 min
  1. 19
    Server Components vs Client Components

    Understand the modern Next.js component model and when to use use client.

  2. 20
    useState for Interactive UI

    Use React state in a Client Component to update the screen after user actions.

  3. 21
    Events & Controlled Forms

    Handle user events and build a controlled form in a Client Component.

  4. 22
    Lists & Keys

    Render arrays of data in JSX and use keys correctly.

  5. 23
    Conditional Rendering

    Show different UI based on data, state, route values, or loading conditions.

  6. 24
    useEffect (When You Need the Browser)

    Use useEffect carefully for browser-only side effects in Client Components.

Beginner

Shipping Basics

1 lessons · ~10 min
  1. 25
    Metadata & SEO Basics

    Add page titles and descriptions with the App Router metadata API.

Intermediate

Data & Async UI

4 lessons · ~49 min
  1. 26
    loading.js & Suspense

    Use loading.js and Suspense to show instant loading states while Server Components fetch data.

  2. 27
    Fetching Data in Server Components

    Fetch data directly inside App Router Server Components and render pages without a separate client-side loading step.

  3. 28
    Caching Defaults in Next.js

    Understand the caching defaults that affect fetch, routes, and when your pages update.

  4. 29
    Revalidation Strategies

    Refresh cached pages and data with time-based, path-based, and tag-based revalidation.

Intermediate

Backend in Next.js

3 lessons · ~41 min
  1. 30
    Route Handlers (API Routes)

    Create backend endpoints in the App Router with route.ts files and standard Web Request and Response APIs.

  2. 31
    Server Actions

    Run server-side mutations from Next.js components without building a separate API endpoint first.

  3. 32
    Forms with Server Actions

    Build practical App Router forms that submit directly to Server Actions with validation and pending UI.

Intermediate

Client Navigation Tools

2 lessons · ~25 min
  1. 33
    useRouter, usePathname, useParams

    Use Next.js client navigation hooks for buttons, active links, and dynamic route values.

  2. 34
    Search Params & Filters

    Read and update URL search params to build shareable filters, sorts, and pagination.

Intermediate

React Power Tools in Next.js

3 lessons · ~37 min
  1. 35
    React Context for Shared UI State

    Use React Context inside Next.js Client Components for shared interface state such as themes, drawers, and menus.

  2. 36
    Custom Hooks

    Extract reusable client-side behavior into custom hooks for focused Next.js Client Components.

  3. 37
    useRef & DOM Access

    Use refs safely in Next.js Client Components when you need direct access to DOM elements or mutable values.

Intermediate

App Edge Features

3 lessons · ~36 min
  1. 38
    Middleware

    Run lightweight logic before a request reaches a route, such as redirects, auth checks, and header updates.

  2. 39
    Environment Variables

    Store configuration and secrets safely in Next.js using server-only and public environment variables.

  3. 40
    TypeScript with Next.js

    Use TypeScript types for pages, route params, components, data, and safer Next.js app code.

Intermediate

Styling at Scale

1 lessons · ~11 min
  1. 41
    Tailwind CSS in Next.js

    Style Next.js pages and components with Tailwind utility classes while keeping layouts consistent.

Intermediate

Real App Skills

4 lessons · ~58 min
  1. 42
    Auth Patterns (Cookies, Sessions, Protected Routes)

    Learn vendor-neutral authentication patterns for cookies, sessions, protected pages, and redirects.

  2. 43
    Connecting a Database

    Connect database access to Server Components, Server Actions, and Route Handlers without locking into one vendor.

  3. 44
    File Uploads & Media

    Handle file uploads in Next.js with forms, Route Handlers, validation, and storage-provider patterns.

  4. 45
    Error Handling Patterns

    Handle expected and unexpected errors with error.tsx, not-found.tsx, route responses, and careful boundaries.

Intermediate

Advanced Routing

2 lessons · ~26 min
  1. 46
    Parallel & Intercepting Routes (Practical Intro)

    Use parallel and intercepting routes for practical UI such as modals that preserve page context.

  2. 47
    Route Groups & Organizing Apps

    Organize App Router projects with route groups that do not affect the URL path.

Intermediate

Shipping

1 lessons · ~12 min
  1. 48
    Deploying to Vercel

    Prepare a Next.js App Router project for deployment on Vercel with build checks, environment variables, and production habits.

Advanced

Deep Next.js

4 lessons · ~73 min
  1. 49
    Advanced Server Component Patterns

    Use React Server Components as the default design tool in a production App Router application.

  2. 50
    Client Islands & Composition Patterns

    Design interactive islands that fit cleanly inside a mostly server-rendered Next.js interface.

  3. 51
    Performance, Bundles & Streaming

    Improve real-world Next.js performance by reducing client JavaScript, streaming routes, and measuring the right signals.

  4. 52
    Security Essentials for Next.js Apps

    Protect production Next.js applications with server boundaries, validation, auth checks, safe redirects, and secure headers.

Advanced

Pro Architecture

3 lessons · ~52 min
  1. 53
    Structuring a Production Next.js App

    Organize App Router projects by routes, features, shared UI, server modules, and production ownership boundaries.

  2. 54
    State Strategy: Server, URL, Context, Local

    Choose the right state location in a Next.js app and see how practical React mastery emerges from App Router decisions.

  3. 55
    Debugging & Testing Mindset

    Develop a production debugging workflow and choose targeted tests for App Router behavior.

Advanced

Capstone Projects

5 lessons · ~92 min
  1. 56
    Mini Project: Personal Portfolio

    Build a polished App Router portfolio with metadata, reusable sections, project cards, and responsive styling.

  2. 57
    Mini Project: Blog with Markdown/MDX-style Content

    Build a file-backed blog pattern with dynamic routes, generated metadata, static params, and content rendering.

  3. 58
    Mini Project: Admin Dashboard Shell

    Build an authenticated dashboard shell with route groups, summary cards, table UI, loading states, and URL filters.

  4. 59
    Mini Project: SaaS Landing + Auth Shell

    Build a SaaS marketing page, pricing section, login shell, and authenticated app layout foundation.

  5. 65
    What to Learn After This Path

    Choose the next advanced topics after completing the Next.js-first Intellex path.

Advanced

Polish & Quality

5 lessons · ~82 min
  1. 60
    Accessibility in Next.js Apps

    Build accessible App Router interfaces with semantic HTML, focus management, forms, navigation, and metadata.

  2. 61
    Advanced SEO & Sharing Metadata

    Use the App Router Metadata API, Open Graph images, canonical URLs, robots rules, and structured data responsibly.

  3. 62
    Internationalization Basics

    Plan a locale-aware Next.js app with route segments, dictionaries, metadata, and localized navigation.

  4. 63
    Migrating Ideas from CRA/Vite React to Next.js

    Translate familiar client-rendered React patterns into App Router patterns without carrying old assumptions forward.

  5. 64
    Common Next.js Mistakes (and Fixes)

    Recognize and fix production App Router mistakes around client boundaries, caching, params, metadata, auth, and loading states.