This application will demonstrate example of proper architecture of Vaadin application based on the following patterns and best practices:
- separation of concerns (server and client side of the application should be explicitly decoupled)
- DRY
- standard Java EE features like JSR-330 (Dependency Injection) and many others.
- Intellij IDEA or Eclipse EE
- Oracle JDK 1.8.X
- Maven 3.6.3
Please go through Contribution Guide
For Intellij IDEA:
- navigate to the Preferences | Build, Execution, Deployment | Compiler | Annotation Processors and turn on
Enable Annotation Processing
- navigate to the Preferences | Plugins, open the Marketplace tab, install Lombok Plugin by Michail Plushnikov
mvn install
Type mvn package tomee:run
from project root or webapp
module and then navigate to http://localhost:8080
.
We need to keep coverage of all logic by Unit tests between above 80%. We don't need to add Unit tests for Vaadin UI classes, such as Views and others.
By example of PostgreSqlDbTest.class
, you can see how we can use testcontainers
and docker
for integration testing.
https://travis-ci.com/rednavis/vaadin-showcase
mvn clean install -Pintegration-tests - run integration-tests
mvn package -Pproduction - run in production mode
mvn checkstyle:checkstyle - run checkstyle