Starting a Project
- Starter Projects
- Maven Archetype
- Gradle
The recommended way to start a new Vaadin project is to use Vaadin Start. It allows you to configure and download a customized starting point for an application.
Vaadin Start Features
Vaadin Start allows you to configure and download a Vaadin project. You can then use this project as a starting point to create your own Vaadin application.
Among other things, Vaadin Start enables you to do the following:
-
Add several views to the application. You can select the initial content of each view from a list of more than fifteen templates. For example, you can include views based on the Master-Detail template, which can be used to manage the data of an entity.

-
Add and modify JPA entities. These entities are downloaded with the generated project, along with their corresponding Spring Data classes, such as the
Repository
andService
classes.

-
Set up security and configure access control. These can be configured for a specific view or the entire app.

-
Change the look and feel of the application. Specifically, you can adjust the application’s colors, typography, style, sizing, and spacing.

-
Add helpful project settings. With this, for example, you can generate the deployment files for Docker and Kubernetes, or you can select between H2 and PostgreSQL as the database to use for the project.

Non-Spring Boot Starters
Applications created using Vaadin Start are based on Spring Boot. You can find Vaadin Flow starters for other technology stacks, such as JakartaEE, or plain servlet on GitHub.
-
Starters for other technology stacks such as JakartaEE (JavaEE), CDI, Quarkus, OSGi, Gradle, Plain Java, etc.
-
Examples and demo applications from which you can learn and get ideas.
-
Starter project archive on GitHub.
Next Steps
Once you’ve downloaded a starter project and have extracted it in a local folder, you can import it to your favorite integrated development environment (IDE) and start developing it.
If you create a project outside an IDE, you need to import it into the IDE. During development, you can run the project with a Maven target, depending on the technology stack you’re using. After you have the project in your IDE, you can run or debug it.