Skip to content
FullStackDostFullStackDostLearn · Build · Level Up
  • All Courses
  • Updates
  • My Account
  • Practice
  • Data Strcture
  • FSD
  • All Courses
  • Updates
  • My Account
  • Practice
  • Data Strcture
  • FSD
  • Home
  • Web development

Next.Js (React.JS framework) 12 Sections142 Lessons1 Quiz10 Weeks

Curriculum

  • 12 Sections
  • 142 Lessons
  • 10 Weeks
Expand all sectionsCollapse all sections
  • Introduction to Next.js
    9 Items
    Introduction to Next JS and comparison with other frameworks.
    • 1.1
      What is Next.js?
      10 Minutes
    • 1.2
      Why use Next.js?
    • 1.3
      Next.js vs React
      10 Minutes
    • 1.4
      Next.js vs other frameworks
    • 1.5
      Key features and achitecture
    • 1.6
      How Rendering Works in Next.js
    • 1.7
      App Router vs. Pages Router: Navigating Next.js Routing Systems
    • 1.8
      Prerequisites: HTML, CSS, JavaScript and React
    • 1.9
      Introduction to Next JS
      10 Minutes5 Questions
  • Installation and setup
    9 Items
    Installation and setup Next.js
    • 2.1
      Node.js and environment setup
    • 2.2
      Create a Next.js application
      15 Minutes
    • 2.3
      Run the development server
    • 2.4
      Project folder structure
    • 2.5
      Understanding package.json and scripts
    • 2.6
      TypeScript setup
    • 2.7
      ESLint and code quality
    • 2.8
      Path aliases and the src directory
    • 2.9
      Development vs production builds
  • Routing, pages and layout
    15 Items
    Routing, pages and layout
    • 3.1
      File-system-based routing
    • 3.2
      Creating pages with page.tsx
    • 3.3
      Shared layouts with layout.tsx
    • 3.4
      Nested layouts
    • 3.5
      Link component and navigation
    • 3.6
      Dynamic route segments
    • 3.7
      Catch-all and optional catch-all routes
    • 3.8
      Route groups
    • 3.9
      Private folders
    • 3.10
      Loading UI with loading.tsx
    • 3.11
      Error handling with error.tsx
    • 3.12
      not-found.tsx
    • 3.13
      Parallel routes
    • 3.14
      Intercepting routes
    • 3.15
      Programmatic navigation and redirects
  • React component and fundamentals
    11 Items
    React component and fundamentals
    • 4.1
      React components in Next.js
    • 4.2
      Server Components
    • 4.3
      Client Components
    • 4.4
      The use client directive
    • 4.5
      Choosing server or client rendering
    • 4.6
      Composing server and client components
    • 4.7
      Props and component reuse
    • 4.8
      State and event handlers
    • 4.9
      Forms and controlled inputs
    • 4.10
      Context and providers
    • 4.11
      Third-party client libraries
  • Styling, assets and user interface (UI)
    10 Items
    • 5.1
      Global CSS
    • 5.2
      CSS Modules
    • 5.3
      Tailwind CSS
    • 5.4
      Sass and CSS-in-JS
    • 5.5
      Fonts with next/font
    • 5.6
      mages with next/image
    • 5.7
      Static assets and the public folder
    • 5.8
      Responsive design
    • 5.9
      Layouts and reusable UI patterns
    • 5.10
      Scripts with next/script
  • Data fetching and rendering
    13 Items
    • 6.1
      Fetching data in Server Components
    • 6.2
      Using the fetch API
    • 6.3
      Database and ORM integration
    • 6.4
      Fetching in Client Components
    • 6.5
      Sequential vs parallel fetching
    • 6.6
      Data loading states
    • 6.7
      Streaming and Suspense
    • 6.8
      Static rendering
    • 6.9
      Dynamic rendering
    • 6.10
      Server-side rendering concepts
    • 6.11
      Client-side rendering
    • 6.12
      Partial prerendering concepts
    • 6.13
      Environment variables and server-only code
  • Caching and data updates
    11 Items
    • 7.1
      Understanding cache fundamentals
    • 7.2
      Data Cache and rendered output
    • 7.3
      Cache Components and the use cache directive
    • 7.4
      Cache boundaries and lifetimes
    • 7.5
      Revalidation strategies
    • 7.6
      Time-based revalidation
    • 7.7
      On-demand revalidation
    • 7.8
      revalidatePath
    • 7.9
      revalidateTag
    • 7.10
      Request deduplication
    • 7.11
      Optimistic UI and fresh data
  • Backend development and mutations
    12 Items
    • 8.1
      Route Handlers
    • 8.2
      GET, POST, PUT, PATCH and DELETE
    • 8.3
      NextRequest and NextResponse
    • 8.4
      Server Functions and Server Actions
    • 8.5
      Form submissions
    • 8.6
      Validation and error handling
    • 8.7
      Database CRUD operations
    • 8.8
      Cookies and headers
    • 8.9
      File uploads
    • 8.10
      Webhooks
    • 8.11
      Backend-for-Frontend patterns
    • 8.12
      API security
  • Authentication and Security
    12 Items
    • 9.1
      Authentication vs authorization
    • 9.2
      Sessions and cookies
    • 9.3
      Login and logout flows
    • 9.4
      Protecting routes and layouts
    • 9.5
      Authorization checks near data access
    • 9.6
      Role-based access control
    • 9.7
      Using authentication libraries
    • 9.8
      Environment secrets
    • 9.9
      Input validation
    • 9.10
      CSRF and request security
    • 9.11
      Content Security Policy
    • 9.12
      Data security and safe serialization
  • SEO, performance and accessibility
    14 Items
    • 10.1
      Metadata API
    • 10.2
      Dynamic metadata
    • 10.3
      Open Graph images
    • 10.4
      Sitemaps and robots.txt
    • 10.5
      Canonical URLs
    • 10.6
      Font and image optimization
    • 10.7
      Link prefetching
    • 10.8
      Lazy loading
    • 10.9
      Bundle analysis
    • 10.10
      Core Web Vitals
    • 10.11
      Accessibility fundamentals
    • 10.12
      Analytics and Speed Insights
    • 10.13
      Internationalization
    • 10.14
      Redirects and rewrites
  • Testing, deployment and production
    13 Items
    • 11.1
      Unit and component testing
    • 11.2
      Jest and Vitest
    • 11.3
      End-to-end testing with Playwright or Cypress
    • 11.4
      Build and production start
    • 11.5
      Deployment to a managed platform
    • 11.6
      Self-hosting with Node.js or Docker
    • 11.7
      Static export
    • 11.8
      CI/CD pipelines
    • 11.9
      Logging and monitoring
    • 11.10
      Instrumentation and OpenTelemetry
    • 11.11
      Production security checklist
    • 11.12
      Troubleshooting and debugging
    • 11.13
      Upgrading Next.js and codemods
  • Advanced topics and Pages Router
    14 Items
    • 12.1
      Middleware concepts and Proxy conventions
    • 12.2
      Edge Runtime
    • 12.3
      Custom servers
    • 12.4
      Multi-Zones
    • 12.5
      Progressive migration from Pages Router
    • 12.6
      Pages Router pages and layouts
    • 12.7
      getStaticProps
    • 12.8
      getServerSideProps
    • 12.9
      getStaticPaths
    • 12.10
      API Routes
    • 12.11
      Pages Router data fetching
    • 12.12
      useRouter and router events
    • 12.13
      Legacy image and head APIs
    • 12.14
      Migrating Pages Router applications

Prerequisites: HTML, CSS, JavaScript and React

Before moving to project setup, make sure you understand the following foundations.

8.1 HTML

HTML defines the structure and meaning of a webpage.

<main>
  <h1>My Store</h1>
  <p>Discover our products.</p>
  <a href="/products">View products</a>
</main>

Learn semantic elements such as main, header, nav, section, article, form and button.

Semantic HTML helps with accessibility, maintainability and search engine understanding.

8.2 CSS

CSS controls presentation and layout.

css

.product-card {
  padding: 1rem;
  border: 1px solid #ddd;
  border-radius: 0.75rem;
}
.product-card h2 {
  margin-top: 0;
}

You should understand:

  • Selectors, inheritance and the cascade.
  • Box model, margins and padding.
  • Flexbox and CSS Grid.
  • Responsive media queries.
  • Positioning and stacking.
  • Pseudo-classes and transitions.

8.3 JavaScript

JavaScript provides application logic and interactivity.

You should be comfortable with:

  • const, let, variables and data types.
  • Functions, arrow functions and scope.
  • Objects, arrays and array methods.
  • Destructuring and spread syntax.
  • ES modules and imports.
  • Promises, async and await.
  • Error handling with try and catch.
  • Fetching data with fetch.
  • Basic DOM and browser concepts.

Example of asynchronous JavaScript:

js

async function getProducts() {
  try {
    const response = await fetch(
      "https://api.example.com/products"
    );
    if (!response.ok) {
      throw new Error("Request failed");
    }
    return await response.json();
  } catch (error) {
    console.error("Could not fetch products", error);
    return [];
  }
}

This is ordinary JavaScript and can be adapted for browser or server use. In production, handle failures according to the needs of your application rather than silently treating every error as an empty result.

8.4 React

Before learning Next.js, understand these React concepts:

  • Components and JSX.
  • Props and component composition.
  • State with useState.
  • Effects with useEffect.
  • Event handling.
  • Conditional rendering.
  • Lists and keys.
  • Controlled forms.
  • Context and providers.
  • Basic rules of hooks.

Example:

tsx

"use client";
import { useState } from "react";
export default function Greeting() {
  const [name, setName] = useState("");
  return (
    <section>
      <label htmlFor="name">Your name</label>
      <input
        id="name"
        value={name}
        onChange={(event) => setName(event.target.value)}
        placeholder="Enter your name"
      />
      <p>
        {name ? `Hello, ${name}!` : "Enter your name to begin."}
      </p>
    </section>
  );
}

This example uses React state and a controlled input. In the App Router, it needs to be a Client Component because it uses useState and an event handler.

Module 01 — Revision and knowledge check

Key concepts to remember

  • Next.js is a React framework for building web applications.
  • React provides the component model; Next.js adds routing, rendering conventions, server capabilities and optimizations.
  • The App Router uses the app/ directory and supports Server Components, nested layouts, streaming and route-level loading UI.
  • The Pages Router uses the pages/ directory and includes APIs such as getStaticProps and getServerSideProps.
  • Static rendering, dynamic rendering, client-side rendering and streaming describe different aspects of page rendering.
  • Client Components enable interactivity; Server Components are useful for server-side data access and reducing client JavaScript.
  • Rendering HTML on the server does not eliminate the need for hydration when client-side interactivity is required.

Leave a Reply Cancel reply

You must be logged in to post a comment.

App Router vs. Pages Router: Navigating Next.js Routing Systems
Prev
Introduction to Next JS
Next

Copyright © 2026 FullStackDost. All Rights Reserved.

  • Privacy Policy
  • Terms of Service
  • Contact Support

Powered by EduPress