---
title: Getting Started
description: Learn how to create full-stack web applications with the Next.js App Router.
url: "https://nextjs.org/docs/15/app/getting-started"
docs_index: /docs/15/llms.txt
lastUpdated: 2025-05-02
---

> For an index of all documentation, see [/docs/15/llms.txt](/docs/15/llms.txt).

Welcome to the Next.js documentation!

This **Getting Started** section will help you create your first Next.js app and learn the core features you'll use in every project.

## Pre-requisite knowledge

Our documentation assumes some familiarity with web development. Before getting started, it'll help if you're comfortable with:

- HTML
- CSS
- JavaScript
- React

If you're new to React or need a refresher, we recommend starting with our [React Foundations course](/learn/react-foundations), and the [Next.js Foundations course](/learn/dashboard-app) that has you building an application as you learn.

## Next Steps

- [Installation](/docs/15/app/getting-started/installation): Learn how to create a new Next.js application with the \`create-next-app\` CLI, and set up TypeScript, ESLint, and Module Path Aliases.
- [Project Structure](/docs/15/app/getting-started/project-structure): Learn the folder and file conventions in Next.js, and how to organize your project.
- [Layouts and Pages](/docs/15/app/getting-started/layouts-and-pages): Learn how to create your first pages and layouts, and link between them with the Link component.
- [Linking and Navigating](/docs/15/app/getting-started/linking-and-navigating): Learn how the built-in navigation optimizations work, including prefetching, prerendering, and client-side navigation, and how to optimize navigation for dynamic routes and slow networks.
- [Server and Client Components](/docs/15/app/getting-started/server-and-client-components): Learn how you can use React Server and Client Components to render parts of your application on the server or the client.
- [Partial Prerendering](/docs/15/app/getting-started/partial-prerendering): Learn how to use Partial Prerendering and combine the benefits of static and dynamic rendering.
- [Fetching Data](/docs/15/app/getting-started/fetching-data): Learn how to fetch data and stream content that depends on data.
- [Updating Data](/docs/15/app/getting-started/updating-data): Learn how to mutate data using Server Functions.
- [Caching and Revalidating](/docs/15/app/getting-started/caching-and-revalidating): Learn how to cache and revalidate data in your application.
- [Error Handling](/docs/15/app/getting-started/error-handling): Learn how to display expected errors and handle uncaught exceptions.
- [CSS](/docs/15/app/getting-started/css): Learn about the different ways to add CSS to your application, including Tailwind CSS, CSS Modules, Global CSS, and more.
- [Image Optimization](/docs/15/app/getting-started/images): Learn how to optimize images in Next.js
- [Font Optimization](/docs/15/app/getting-started/fonts): Learn how to optimize fonts in Next.js
- [Metadata and OG images](/docs/15/app/getting-started/metadata-and-og-images): Learn how to add metadata to your pages and create dynamic OG images.
- [Route Handlers and Middleware](/docs/15/app/getting-started/route-handlers-and-middleware): Learn how to use Route Handlers and Middleware
- [Deploying](/docs/15/app/getting-started/deploying): Learn how to deploy your Next.js application.
- [Upgrading](/docs/15/app/getting-started/upgrading): Learn how to upgrade your Next.js application to the latest version or canary.

---

For a semantic overview of all documentation, see [/sitemap.md](/sitemap.md)

For an index of all available documentation, see [/docs/15/llms.txt](/docs/15/llms.txt)