Section 1: Lab: Project Structure for Large Systems
- What changed in Next.js 16: Turbopack by default, Proxy and Cache Components
- Feature-based versus type-based folders, and private folders
- Strict TypeScript settings, path aliases, ESLint and Prettier
- Typed routes and handling environment variables safely
- Lab: create the starter dashboard project with create-next-app
Section 2: Advanced Routing
- Route groups and multiple layouts for different roles, such as admin and user
- Parallel routes (@folder) showing several independently loaded panels on one page
- Intercepting routes for modals that have their own URL and open as a full page on refresh
- loading, error, not-found and streaming with Suspense
- Lab: a gallery that opens images in a modal, and a multi-panel dashboard
Section 3: Server Components, Client Components and Proxy
- The use client boundary and passing props between server and client
- Fetching data in server components and keeping server code out of the client
- Proxy (proxy.ts, which replaces middleware.ts): redirects, rewrites and headers
- Route handlers for webhooks and external APIs
- Lab: a Proxy that checks a cookie and sends signed-out users to the login page
Section 4: Lab: Server Actions and Forms
- Server Actions in depth: passing arguments with bind and checking permissions every time
- useActionState for form state and errors returned from the server
- Zod 4 validation with one schema shared by client and server
- useFormStatus and pending states for buttons
- Lab: create and edit forms that show errors field by field
Section 5: Optimistic UI and User Experience
- useOptimistic for instant feedback that rolls back on error
- useTransition for work that should not block the screen
- Reporting Server Action results with toasts and handling errors consistently
- View Transitions in React 19.3 for smooth page changes
- Lab: an optimistic like button and to-do list