This Spring and Vaadin-based web application was built as a student project in April 2022.
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.
The project can also be imported 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).
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
This Spring application makes neither use of separate controllers nor DTOs. However, these files remain in the catalogue structure for future reference.
As of now, a session is still valid when a user presses the back button. It is also still valid when a user closes the browser, opens a new browser and writes the URL with an endpoint. This means that the invalidation of session relies on the user to log out. This is widely practiced by companies. The exception would be banks, who do not want to allow too excessive access.
After a long discussion, our group opted to allow the session to persist and rely on the user to log out. This is, on the other hand, something that can be improved with logic that manages the use of the application's client-side.
Pavel Drepalov, github: padr02 Sebastian Persson, github: Swesebbe91 Connie Tran Hedberg, github: contranhed