> Markdown version of [Tutorial](https://vaadin.com/docs/next/getting-started/tutorial). Section index: [llms.txt](https://vaadin.com/docs/next/getting-started/llms.txt)

# Welcome to the Vaadin Tutorial!

This tutorial guides you through the basics of building a web application using Vaadin. You’ll start with an empty project and gradually add features to create a functional web application step by step.

You’ll be building parts of the back office of a fictional Click & Collect service for a retail company. In the full back office, employees would manage the product catalog, process customer orders, and track deliveries. In this tutorial, you’ll build the product catalog:

[Image: The finished product catalog with a sortable grid]

In each step, you’ll explore different aspects of Vaadin, including UI components, data binding, deep linking, testing, and more. Each step builds upon the previous one. Every step ends with the complete code for that step, so you can compare your files with it if something doesn’t work as expected. If you are interested in learning how to do a particular task in Vaadin, see the [Building Apps](https://vaadin.com/docs/next/building-apps.md) guides instead.

Expect to spend 20 to 45 minutes on each step. You don’t need to finish the tutorial in one sitting. The application keeps working between steps.

> **Tip: In a Hurry?**
>
> If you only want to see Vaadin in action, the [Quick Start](https://vaadin.com/docs/next/getting-started/quick-start.md) gets you from nothing to a running application in about 10 minutes. You don’t need to complete it before this tutorial, which starts from an empty project.

- [Set Up Project](https://vaadin.com/docs/next/getting-started/tutorial/setup.md): Set up a new Vaadin project with the necessary dependencies and configuration.
- [List Data](https://vaadin.com/docs/next/getting-started/tutorial/list-data.md): Build your first Vaadin view that displays a product catalog using a grid component and data from a database.
- [Sort & Filter](https://vaadin.com/docs/next/getting-started/tutorial/sort-filter.md): Enhance the product catalog view by adding sorting and filtering capabilities.
- [Show Details](https://vaadin.com/docs/next/getting-started/tutorial/show-details.md): Build your first Vaadin form and turn the product catalog view into a master-detail view.
- [Edit Details](https://vaadin.com/docs/next/getting-started/tutorial/edit-details.md): Add support for editing and saving items in the product catalog.
- [Add Data](https://vaadin.com/docs/next/getting-started/tutorial/add-data.md): Build your first Vaadin dialog and implement support for adding new items to the product catalog.
- [Deep Link](https://vaadin.com/docs/next/getting-started/tutorial/deep-link.md): Use a route parameter to store the product item selection.
- [Add Tests](https://vaadin.com/docs/next/getting-started/tutorial/add-tests.md): Write automated tests for the product catalog's service and view.
