Skip to content
    SeaCode
    Learning tracksCode ArenaWorkshops & EventsInstructors
    Log inSign up
    NNext.js

    Next.js foundations

    • What is Next.js?
    • The App Router: folders are routes
    • Dynamic routes
    • Client-side navigation

    Server, client and data

    • Server and Client Components
    • Fetching data on the server
    • loading, error and not-found
    • Caching and revalidation

    Mutations, APIs and security

    • Server Actions
    • Route Handlers: building an API
    • Proxy (formerly Middleware)
    • Authentication and protecting pages

    Going to production

    • Metadata and SEO
    • Images, fonts and performance
    • Environment variables and deploying to Vercel
    • Project: a course catalogue
    Next.js

    Next.js foundations · Lesson 1 of 16

    What is Next.js?

    Why React alone isn't enough: server rendering, routing and project structure.

    8 minutes1 games

    React builds the UI, but a real app needs more: pages with URLs (routing), server data, SEO so Google sees the content, and good performance on phones. Next.js is a React framework that provides all of this, and SeaCode itself is built with it.

    ModeWhere and when HTML is madeGood for

    CSR

    in the browser, after JavaScript loads

    dashboards behind a login

    SSR

    on the server for every request

    pages that differ per user

    SSG

    on the server once, at build time

    blogs, docs, marketing pages

    ISR / cache

    cached, refreshed periodically or on demand

    course catalogues, products

    Next.js lets you choose per page, or even per part of a page.

    You start a project with one command, and get a structure like this:

    TypeScript
    // npx create-next-app@latest my-app
    // cd my-app && npm run dev   ->  http://localhost:3000
    
    my-app/
    ├── app/
    │   ├── layout.tsx      // the shell around every page (<html>, <body>)
    │   ├── page.tsx        // the home page:  /
    │   └── globals.css
    ├── public/             // static files: /logo.png
    ├── next.config.ts
    ├── package.json
    └── tsconfig.json
    TypeScript
    // app/page.tsx: a page is just a React component exported as default
    export default function HomePage() {
      return (
        <main>
          <h1>Welcome to SeaCode</h1>
          <p>This HTML was rendered on the server.</p>
        </main>
      )
    }

    Important

    This track covers the App Router (the app/ folder), the foundation from Next.js 13 to today (version 16). Older projects use a pages/ folder (the Pages Router) with getServerSideProps and getStaticProps; it's still supported, but new projects use app/.

    Quick question

    An "About the academy" page has fixed content and needs SEO. Best mode?

    Interview question

    What's the difference between SSR, SSG and CSR? What is hydration?

    Learn more from

    • Next.js docs: Getting startednextjs.org
    • Next.js docs: Project structurenextjs.org
    • web.dev: Rendering on the webweb.dev

    Played 0 of 1 games

    Sign in to save your progress and earn XP.

    NextThe App Router: folders are routes
    SeaCode

    Learn to code for real, online or at our branch in front of Cairo University, Giza.

    Learn

    • All courses
    • Interactive tutorials
    • Interview practice problems
    • Mock interview
    • Learning tracks
    • Code Arena
    • Workshops & Events
    • Knowledge library
    • Team projects

    Your account

    • Log in
    • Sign up
    • Learning plan
    • Certificates
    • Site map

    Contact us

    • WhatsApp
    • 010 9094 1104
    • In front of Cairo University, Giza

    © 2026 SeaCode. All rights reserved.