Skip to content

Commit 9a31f70

Browse files
committed
Vaadin 24.4 tutorial
1 parent 19d07dc commit 9a31f70

File tree

135 files changed

+24173
-13203
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

135 files changed

+24173
-13203
lines changed

LICENSE.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
This is free and unencumbered software released into the public domain.
2+
3+
Anyone is free to copy, modify, publish, use, compile, sell, or
4+
distribute this software, either in source code form or as a compiled
5+
binary, for any purpose, commercial or non-commercial, and by any
6+
means.
7+
8+
In jurisdictions that recognize copyright laws, the author or authors
9+
of this software dedicate any and all copyright interest in the
10+
software to the public domain. We make this dedication for the benefit
11+
of the public at large and to the detriment of our heirs and
12+
successors. We intend this dedication to be an overt act of
13+
relinquishment in perpetuity of all present and future rights to this
14+
software under copyright law.
15+
16+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19+
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20+
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21+
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22+
OTHER DEALINGS IN THE SOFTWARE.
23+
24+
For more information, please refer to <http://unlicense.org>

README.md

Lines changed: 3 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,5 @@
1-
**Please visit [Building Modern Web Apps with Spring Boot and Vaadin](https://vaadin.com/learn/tutorials/modern-web-apps-with-spring-boot-and-vaadin)** for a tutorial on Vaadin 14.
1+
# Vaadin 24.4 tutorial application
22

3-
Vaadin 8 tutorial application
4-
==============
3+
This repository contains the starter project and example solutions for the [Vaadin 24.4 tutorial application](https://vaadin.com/docs/next/getting-started/tutorial).
54

6-
**This repository contains the source code of the application built in [Vaadin 8 tutorial](https://vaadin.com/docs/v8/framework/tutorial.html).**
7-
8-
If you are new to Maven, read [these instructions](https://vaadin.com/blog/-/blogs/the-maven-essentials-for-the-impatient-developer) to get your project properly imported into Eclipse or your IDE of choice.
9-
10-
If you want to start the tutorial from a specific step, use the following links to checkout the starting point:
11-
12-
1. Overview (no source code available in this step).
13-
2. Creating a project using an archetype (no source code available before this step).
14-
3. [Adding a demo "backend"](https://github.com/vaadin/tutorial/tree/v8-step2)
15-
4. [Listing entities in a Grid](https://github.com/vaadin/tutorial/tree/v8-step3)
16-
5. [Creating live filtering for entities](https://github.com/vaadin/tutorial/tree/v8-step4)
17-
6. [Creating a form to edit Customer objects](https://github.com/vaadin/tutorial/tree/v8-step5)
18-
7. [Connecting the form to the application](https://github.com/vaadin/tutorial/tree/v8-step6)
19-
20-
Below are some instructions how to work with basic Vaadin application.
21-
22-
Workflow
23-
========
24-
25-
To compile the entire project, run "mvn install".
26-
27-
To run the application, run "mvn jetty:run" and open http://localhost:8080/ .
28-
29-
Debugging client side code
30-
- run "mvn vaadin:run-codeserver" on a separate console while the application is running
31-
- activate Super Dev Mode in the debug window of the application
32-
33-
To produce a deployable production mode WAR:
34-
- change productionMode to true in the servlet class configuration (nested in the UI class)
35-
- run "mvn clean package"
36-
- test the war file with "mvn jetty:run-war"
37-
38-
Developing a theme using the runtime compiler
39-
-------------------------
40-
41-
When developing the theme, Vaadin can be configured to compile the SASS based
42-
theme at runtime in the server. This way you can just modify the scss files in
43-
your IDE and reload the browser to see changes.
44-
45-
To use on the runtime compilation, open pom.xml and comment out the compile-theme
46-
goal from vaadin-maven-plugin configuration. To remove a possibly existing
47-
pre-compiled theme, run "mvn clean package" once.
48-
49-
When using the runtime compiler, running the application in the "run" mode
50-
(rather than in "debug" mode) can speed up consecutive theme compilations
51-
significantly.
52-
53-
It is highly recommended to disable runtime compilation for production WAR files.
54-
55-
Using Vaadin pre-releases
56-
-------------------------
57-
58-
If Vaadin pre-releases are not enabled by default, use the Maven parameter
59-
"-P vaadin-prerelease" or change the activation default value of the profile in pom.xml .
5+
The Vaadin 8 tutorial application can be found in the old [master](https://github.com/vaadin/tutorial/tree/master) branch.

pom.xml

Lines changed: 40 additions & 171 deletions
Original file line numberDiff line numberDiff line change
@@ -1,173 +1,42 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3-
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4-
<modelVersion>4.0.0</modelVersion>
5-
6-
<groupId>my.vaadin.app</groupId>
7-
<artifactId>app</artifactId>
8-
<packaging>war</packaging>
9-
<version>1.0-SNAPSHOT</version>
10-
<name>app</name>
11-
12-
<prerequisites>
13-
<maven>3</maven>
14-
</prerequisites>
15-
16-
<properties>
17-
<vaadin.version>8.0.5</vaadin.version>
18-
<vaadin.plugin.version>8.0.5</vaadin.plugin.version>
19-
<jetty.plugin.version>9.3.9.v20160517</jetty.plugin.version>
20-
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
21-
<maven.compiler.source>1.8</maven.compiler.source>
22-
<maven.compiler.target>1.8</maven.compiler.target>
23-
<!-- If there are no local customisations, this can also be "fetch" or "cdn" -->
24-
<vaadin.widgetset.mode>local</vaadin.widgetset.mode>
25-
</properties>
26-
27-
<repositories>
28-
<repository>
29-
<id>vaadin-addons</id>
30-
<url>https://maven.vaadin.com/vaadin-addons</url>
31-
</repository>
32-
</repositories>
33-
34-
<dependencyManagement>
35-
<dependencies>
36-
<dependency>
37-
<groupId>com.vaadin</groupId>
38-
<artifactId>vaadin-bom</artifactId>
39-
<version>${vaadin.version}</version>
40-
<type>pom</type>
41-
<scope>import</scope>
42-
</dependency>
43-
</dependencies>
44-
</dependencyManagement>
45-
46-
<dependencies>
47-
<dependency>
48-
<groupId>javax.servlet</groupId>
49-
<artifactId>javax.servlet-api</artifactId>
50-
<version>3.0.1</version>
51-
<scope>provided</scope>
52-
</dependency>
53-
<dependency>
54-
<groupId>com.vaadin</groupId>
55-
<artifactId>vaadin-server</artifactId>
56-
</dependency>
57-
<dependency>
58-
<groupId>com.vaadin</groupId>
59-
<artifactId>vaadin-push</artifactId>
60-
</dependency>
61-
<dependency>
62-
<groupId>com.vaadin</groupId>
63-
<artifactId>vaadin-client-compiled</artifactId>
64-
</dependency>
65-
<dependency>
66-
<groupId>com.vaadin</groupId>
67-
<artifactId>vaadin-themes</artifactId>
68-
</dependency>
69-
</dependencies>
70-
71-
<build>
72-
<plugins>
73-
<plugin>
74-
<groupId>org.apache.maven.plugins</groupId>
75-
<artifactId>maven-war-plugin</artifactId>
76-
<version>3.0.0</version>
77-
<configuration>
78-
<failOnMissingWebXml>false</failOnMissingWebXml>
79-
<!-- Exclude an unnecessary file generated by the GWT compiler. -->
80-
<packagingExcludes>WEB-INF/classes/VAADIN/widgetsets/WEB-INF/**</packagingExcludes>
81-
</configuration>
82-
</plugin>
83-
<plugin>
84-
<groupId>com.vaadin</groupId>
85-
<artifactId>vaadin-maven-plugin</artifactId>
86-
<version>${vaadin.plugin.version}</version>
87-
<executions>
88-
<execution>
89-
<goals>
90-
<goal>update-theme</goal>
91-
<goal>update-widgetset</goal>
92-
<goal>compile</goal>
93-
<!-- Comment out compile-theme goal to use on-the-fly theme compilation -->
94-
<goal>compile-theme</goal>
95-
</goals>
96-
</execution>
97-
</executions>
98-
</plugin>
99-
<plugin>
100-
<groupId>org.apache.maven.plugins</groupId>
101-
<artifactId>maven-clean-plugin</artifactId>
102-
<version>3.0.0</version>
103-
<!-- Clean up also any pre-compiled themes -->
104-
<configuration>
105-
<filesets>
106-
<fileset>
107-
<directory>src/main/webapp/VAADIN/themes</directory>
108-
<includes>
109-
<include>**/styles.css</include>
110-
<include>**/styles.scss.cache</include>
111-
</includes>
112-
</fileset>
113-
</filesets>
114-
</configuration>
115-
</plugin>
116-
117-
<!-- The Jetty plugin allows us to easily test the development build by
118-
running jetty:run on the command line. -->
119-
<plugin>
120-
<groupId>org.eclipse.jetty</groupId>
121-
<artifactId>jetty-maven-plugin</artifactId>
122-
<version>${jetty.plugin.version}</version>
123-
<configuration>
124-
<scanIntervalSeconds>2</scanIntervalSeconds>
125-
</configuration>
126-
</plugin>
127-
</plugins>
128-
</build>
129-
130-
<profiles>
131-
<profile>
132-
<!-- Vaadin pre-release repositories -->
133-
<id>vaadin-prerelease</id>
134-
<activation>
135-
<activeByDefault>false</activeByDefault>
136-
</activation>
137-
138-
<repositories>
139-
<repository>
140-
<id>vaadin-prereleases</id>
141-
<url>https://maven.vaadin.com/vaadin-prereleases</url>
142-
</repository>
143-
<repository>
144-
<id>vaadin-snapshots</id>
145-
<url>https://oss.sonatype.org/content/repositories/vaadin-snapshots/</url>
146-
<releases>
147-
<enabled>false</enabled>
148-
</releases>
149-
<snapshots>
150-
<enabled>true</enabled>
151-
</snapshots>
152-
</repository>
153-
</repositories>
154-
<pluginRepositories>
155-
<pluginRepository>
156-
<id>vaadin-prereleases</id>
157-
<url>https://maven.vaadin.com/vaadin-prereleases</url>
158-
</pluginRepository>
159-
<pluginRepository>
160-
<id>vaadin-snapshots</id>
161-
<url>https://oss.sonatype.org/content/repositories/vaadin-snapshots/</url>
162-
<releases>
163-
<enabled>false</enabled>
164-
</releases>
165-
<snapshots>
166-
<enabled>true</enabled>
167-
</snapshots>
168-
</pluginRepository>
169-
</pluginRepositories>
170-
</profile>
171-
</profiles>
172-
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
<groupId>com.example.application</groupId>
7+
<artifactId>unified-chat-tutorial-reactor</artifactId>
8+
<version>1.0-SNAPSHOT</version>
9+
<packaging>pom</packaging>
10+
11+
<modules>
12+
<module>unified-chat-tutorial-flow</module>
13+
<module>unified-chat-tutorial-hilla</module>
14+
<module>unified-chat-tutorial-starter</module>
15+
</modules>
16+
17+
<build>
18+
<plugins>
19+
<plugin>
20+
<groupId>org.apache.maven.plugins</groupId>
21+
<artifactId>maven-assembly-plugin</artifactId>
22+
<version>3.7.1</version>
23+
<executions>
24+
<execution>
25+
<id>make-starter-zip</id>
26+
<phase>package</phase>
27+
<goals>
28+
<goal>single</goal>
29+
</goals>
30+
<configuration>
31+
<finalName>unified-chat-tutorial-starter</finalName>
32+
<appendAssemblyId>false</appendAssemblyId>
33+
<descriptors>
34+
<descriptor>${basedir}/src/assembly/starter.xml</descriptor>
35+
</descriptors>
36+
</configuration>
37+
</execution>
38+
</executions>
39+
</plugin>
40+
</plugins>
41+
</build>
17342
</project>

src/assembly/starter.xml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.2.0"
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.2.0 https://maven.apache.org/xsd/assembly-2.2.0.xsd">
4+
<id>unified-chat-tutorial-starter</id>
5+
<formats>
6+
<format>zip</format>
7+
</formats>
8+
<includeBaseDirectory>false</includeBaseDirectory>
9+
<fileSets>
10+
<fileSet>
11+
<useDefaultExcludes>false</useDefaultExcludes>
12+
<directory>${project.basedir}/unified-chat-tutorial-starter</directory>
13+
<excludes>
14+
<exclude>**/target/**</exclude>
15+
<exclude>**/frontend/**</exclude>
16+
</excludes>
17+
</fileSet>
18+
</fileSets>
19+
</assembly>

0 commit comments

Comments
 (0)