An initial attempt at using Vaadin Fusion for a Vue based front-end to communicate with a Java based server

Custom project from start.vaadin.com

This project can be used as a starting point to create your own Vaadin application with Spring Boot.
It contains all the necessary configuration and some placeholder files to get you started.

Running the application

The project is a standard Maven project. To run it from the command line,
type mvnw (Windows), or ./mvnw (Mac & Linux), then open
http://localhost:8080 in your browser.

You can also import the project to your IDE of choice as you would with any
Maven project. Read more on how to import Vaadin projects to different
IDEs
(Eclipse, IntelliJ IDEA, NetBeans, and VS Code).

Deploying to Production

To create a production build, call mvnw clean package -Pproduction (Windows),
or ./mvnw clean package -Pproduction (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/myapp-1.0-SNAPSHOT.jar (NOTE, replace
myapp-1.0-SNAPSHOT.jar with the name of your jar).

Project structure

Directory Description
frontend/ Client-side source directory
    index.html HTML template
    index.ts Frontend entrypoint, contains the client-side routing setup using Vaadin Router
    main-layout.ts Main layout Web Component, contains the navigation menu, uses App Layout
    views/ UI views Web Components (TypeScript)
    themes/ Custom
CSS styles
src/main/java/<groupId>/ Server-side
source directory, contains the server-side Java views
    Application.java Server entry-point

Useful links

GitHub

View Github