Repository for the 23.3 hackathon
main
branch, empty branch with this READMEflow-demo
branch, a Vaadin 23.3 App generated in http://start.vaadin.com
- It has 4 views with different access permissions:
/hello
(public),/about
(public),/spreadsheet
(admin),/master-detail
(admin),/chat
(user), - Data: Two users for login (user:user and admin:admin), and 100 people for the master-detail view
- run it by typing
mvn
hilla-demo
branch, a Hilla 1.3 App generated in http://start.vaadin.com
- 2 views:
/hello
(needs login),/master-detail
(needs admin) - Data: Two users for login (user:user and admin:admin), and 100 people for the master-detail view
- run it by typing
mvn
Create a branch with your name and push to this repo.
Write a summary of the main characteristics or your app, it could be in the README.md of your branch, or if you prefer a slide. Screenshots in the summary would be nice.
The list of main features are:
- Allow setting content of the Html component
- Rerouting to external URL
- Spreadsheet for Flow
- TabSheet component
- Tooltip component
- Chain validation in inputs
- DatePicker 2-digit year parsing
- Shift-click for Grid multi-sort
- React Hilla
- Swing Kit
- Kubernetes Kit
- Azure Kit
- SSO Kit
- Observability Kit
The idea is to use some of the new features in V23.3, but there are many features for trying all at once, so you have to select some idea from the following list, or trye yours own.
Note that you can mix some of the ideas bellow, for instance complete the Spreadsheet challenge and then deploy your app in Kubernetes
Checkout the branch flow-demo, and modify the database so as we store customer credits.
When you select a credit, details can be displayed in a Spreadsheet, you can take advantage of an already existing amortisation excel sheet and load it.
User can change amount, interest rate and time, in the spreadsheet, and they are saved in the credits table.
The credit data could be bound to a chart that is displayed in a different page container, note that spreadsheet for flow does not support embedded charts.
Tip: you could configure stateless login, so as you have not to relogin
Checkout the hilla-demo and convert all the frontend code to use hilla-react instead of lit-element.
Tip: if you want to see how a hilla-react looks like you might generate a reference project with npx @hilla/cli init --preset hilla-react hillou --pre
Prepare two versions of the java demo application, e.g change theme colors or add some extra view.
If you have an azure or a google cluster you could deploy the application on them, otherwise you could try kubernetes in your local Docker Desktop.
Once deployed the two versions of the application, you should be able to migrate users from the blue to green app, and viceversa, and they should be notified and should not sufer any disruption in the service.
Tip: configure preserve-on-refresh, for keeping the current work when reloading the view, it should
Checkout the flow-demo branch, replace authentication with SSO Kit configured for an external provider, for instance you might create a trial account in https://www.okta.com/ or try out azure
Prepare the flow-demo branch with the Observability Kit to export traces, install both Jaeger and Prometeus in you desktop, and check that you can see the traces and the metrics
Observability Kit documentation
Having an Azure subscription you might want to deploy the application in Azure Kubernetes by using terraform blueprints.
Checkout a Swing App from the internet, this starter might be a good option
Checkout the flow branch in this repo, and prepare views and display them in the Swing App.
The main reason of the hackathon is to be able to play with the new features in Vaadin by following documentation, and give feedback about any issues
Stateless authentication It's possible to use stateless authentication in flow+spring by using the hilla approach
Installing Docker Desktop Download and install from here
Setting up K8S clusters Here you have some documents how to create your cluster in Azure AKS or Google GKE