This project can be used as a starting point to create your own Vaadin application with Gradle, Spring Boot and Spring Security. It contains all the necessary configuration and some placeholder files to get you started.
The project is a standard Gradle project. To run it from the command line,
type gradlew
(Windows), or ./gradlew
(Mac & Linux), then open
http://localhost:8080 in your browser.
You can login the app with admin/admin or user/user. This application provides different menus according to the privileges of the logged-in user.The role settings are set into the src/main/resources/data.sql. If you want to add a new user, you can user GenerateSQLForNewUser.java to generate SQLs for the new user, then add the SQLs to data.sql file.
You can also import the project to your IDE of choice as you would with any Gradle project.
To create a production build, call gradlew clean build
(Windows),
or ./gradlew clean build
(Mac & Linux).
This will build a JAR file with all the dependencies and front-end resources,
ready to be deployed. The file can be found in the target
folder after the build completes.
Once the JAR file is built, you can run it using
java -jar target/vaadin-gradle-starter-1.0-SNAPSHOT.jar
MainLayout.java
insrc/main/java
contains the navigation setup (i.e., the side/top bar and the main menu). This setup uses App Layout.views
package insrc/main/java
contains the server-side Java views of your application.
- Read the documentation at vaadin.com/docs.
- Follow the tutorial at vaadin.com/docs/latest/tutorial/overview.
- Create new projects at start.vaadin.com.
- Search UI components and their usage examples at vaadin.com/docs/latest/components.
- View use case applications that demonstrate Vaadin capabilities at vaadin.com/examples-and-demos.
- Build any UI without custom CSS by discovering Vaadin's set of CSS utility classes.
- Find a collection of solutions to common use cases at cookbook.vaadin.com.
- Find add-ons at vaadin.com/directory.
- Ask questions on Stack Overflow or join our Discord channel.
- Report issues, create pull requests in GitHub.