// LEARN · LANGUAGES & FRAMEWORKS
Next.js
A practical Next.js course from a first App Router app to Server Components, data mutations, caching, security and deployment. Every example is built and checked against Next.js 16.3.
Level: Beginner to advanced · For: Developers who know React and want to build full-stack web apps with the Next.js App Router.
Syllabus
Beginner
Coming soon
After this level you can
- Create a Next.js 16.3 app, explain its project structure, and run it in development and production mode
- Build nested layouts, pages, dynamic routes and navigation with <Link>
- Decide which components are Server Components and which need 'use client', and pass data across the boundary
- Style an app, optimise images and fonts, and set page metadata
- Fetch data in Server Components and stream slow parts with loading.js and Suspense
B1Installation and project structureComing soon · 5 lessonsRuns on your computer
Create, run and understand a new app
You build: A site skeleton built with next build and served with next start
- B1.1Coming soon
- B1.2Coming soon
- B1.3Coming soon
- B1.4Coming soon
- B1.5Coming soon
B2Layouts, pages and navigationComing soon · 5 lessonsRuns on your computer
Build a multi-page site with shared layouts and dynamic routes
You build: A blog skeleton
- B2.1Coming soon
- B2.2Coming soon
- B2.3Coming soon
- B2.4Coming soon
- B2.5Coming soon
B3Server and Client ComponentsComing soon · 5 lessonsRuns on your computer
Put each component on the right side of the server-client boundary
You build: An interactive like button on a server-rendered post
- B3.1Coming soon
- B3.2Coming soon
- B3.3Coming soon
- B3.4Coming soon
- B3.5Coming soon
B4Styling, images, fonts and metadataComing soon · 5 lessonsRuns on your computer
Make pages look right and describe themselves
You build: Open Graph images
- B4.1Coming soon
- B4.2Coming soon
- B4.3Coming soon
- B4.4Coming soon
- B4.5Coming soon
B5Fetching data and streamingComing soon · 5 lessonsRuns on your computer
Load data on the server without blocking the page
You build: A blog reading posts from Markdown files
- B5.1Coming soon
- B5.2Coming soon
- B5.3Coming soon
- B5.4Coming soon
- B5.5Coming soon
Beginner project
Markdown blog
A blog that reads posts from Markdown files, with a shared layout, dynamic post routes, per-post metadata and a streamed related-posts section.
Runs on your computerSelf-checked against a rubric
Intermediate
Coming soon
After this level you can
- Mutate data with Server Functions and forms, then revalidate or redirect
- Cache with 'use cache', cacheLife and cacheTag, and revalidate with revalidateTag, updateTag and revalidatePath
- Handle errors and not-found states with error.js, not-found.js and catchError, and build Route Handlers
- Protect routes with Proxy and server-side checks, handle cookies and headers, and apply a Content Security Policy
- Test an app with Vitest and Playwright, and debug server and client code
I1Mutating dataComing soon · 5 lessonsRuns on your computer
Change data from forms and buttons with Server Functions
You build: Comments with add and delete
- I1.1Coming soon
- I1.2Coming soon
- I1.3Coming soon
- I1.4Coming soon
- I1.5Coming soon
I2Caching and revalidatingComing soon · 6 lessonsRuns on your computer
Serve fast pages that stay correct
You build: A cached product catalogue with admin updates
- I2.1Coming soon
- I2.2Coming soon
- I2.3Coming soon
- I2.4Coming soon
- I2.5Coming soon
- I2.6Coming soon
I3Errors and Route HandlersComing soon · 5 lessonsRuns on your computer
Fail gracefully and expose HTTP endpoints
You build: A JSON API with error responses
- I3.1Coming soon
- I3.2Coming soon
- I3.3Coming soon
- I3.4Coming soon
- I3.5Coming soon
I4Proxy, authentication and securityComing soon · 5 lessonsRuns on your computer
Protect routes and data
You build: A sign-in-protected dashboard with demo credentials
- I4.1Coming soon
- I4.2Coming soon
- I4.3Coming soon
- I4.4Coming soon
- I4.5Coming soon
I5Testing and debuggingComing soon · 5 lessonsRuns on your computer
Prove the app works and find faults fast
You build: A test suite for the dashboard
- I5.1Coming soon
- I5.2Coming soon
- I5.3Coming soon
- I5.4Coming soon
- I5.5Coming soon
Intermediate project
Team notes
A notes app with demo sign-in, a data access layer, Server Functions for editing, cached lists with tag revalidation and a Route Handler for export.
Runs on your computerSelf-checked against a rubric
Advanced
Coming soon
After this level you can
- Use parallel and intercepting routes, route groups, static params and root params, including for internationalisation
- Choose between static, dynamic and partially prerendered pages, and adopt Instant Navigations and Partial Prefetching
- Measure and improve performance with lazy loading, bundle analysis, Web Vitals and OpenTelemetry
- Build, self-host or deploy an app, and configure caching for a CDN
- Upgrade an app between Next.js versions with codemods, and migrate it to Cache Components
A1Advanced routing and internationalisationComing soon · 5 lessonsRuns on your computer
Model complex navigation with parallel, intercepting and localised routes
You build: A bilingual site with [lang]
- A1.1Coming soon
- A1.2Coming soon
- A1.3Coming soon
- A1.4Coming soon
- A1.5Coming soon
A2Rendering strategies and Instant NavigationsComing soon · 5 lessonsRuns on your computer
Choose how and when each page renders
You build: A static export
- A2.1Coming soon
- A2.2Coming soon
- A2.3Coming soon
- A2.4Coming soon
- A2.5Coming soon
A3Performance and observabilityComing soon · 5 lessonsRuns on your computer
Measure and improve real-world speed
You build: The production checklist applied to the capstone draft
- A3.1Coming soon
- A3.2Coming soon
- A3.3Coming soon
- A3.4Coming soon
- A3.5Coming soon
A4Building and deployingComing soon · 5 lessonsRuns on your computer
Run the app in production, self-hosted or deployed
You build: A CI pipeline with build caching
- A4.1Coming soon
- A4.2Coming soon
- A4.3Coming soon
- A4.4Coming soon
- A4.5Coming soon
A5Upgrading and maintainingComing soon · 4 lessonsRuns on your computer
Keep an app current with release notes and codemods
You build: Migrating a sample app to Cache Components
- A5.1Coming soon
- A5.2Coming soon
- A5.3Coming soon
- A5.4Coming soon
Advanced project
Bilingual storefront
A two-language product catalogue with root params, a quick-view modal from intercepting routes, Cache Components, Web Vitals and a self-hosted Docker build.
Runs on your computerSelf-checked against a rubric
Capstone
Capstone
Full-stack portfolio app
An app of your choice, such as a reading tracker, typed end to end, with authenticated mutations, a documented caching strategy, tests, CI and a deployment.
Runs on your computerSelf-checked against a rubric