In this step-by-step tutorial, you will learn how to build a modern web app – completely in Java. This complete course covers each step of creating a Spring Boot application with a responsive frontend web app using Vaadin Flow. You will also learn how to test and deploy the application to the cloud.

The course instructor is Marcus Hellberg. He has more than 15 years of experience in building web apps with Java and currently leads the open-source community team at Vaadin.

Text Version: https://vaadin.com/docs/latest/flow/tutorials/in-depth-course
Project starter link: https://start.vaadin.com/?preset=flow-crm-tutorial&preset=partial-latest&dl
Source code: https://github.com/vaadin/flow-crm-tutorial
Vaadin Discord Chat: https://discord.gg/vaadin

0:00 – Course intro
2:09 – Creating a new Spring Boot and Vaadin Project
7:39 – Vaadin Flow Basics
12:27 – Building a view with components
23:55 – Creating a form component
35:46 – Connecting to the database (services and repositories)
44:46 – Data binding and form input validation
53:07 – Managing view state & responsive styles
1:02:07 – Navigation (routing) and parent layouts
1:08:27 – Creating a dashboard (charts)
1:16:03 – Spring Security and login & logout
1:28:06 – PWA: installing, offline fallback, icons
1:34:19 – Unit testing the UI with JUnit
1:44:40 – Integration tests for the UI using SpringBootTest
1:50:37 – End-to-end (e2e) tests with Vaadin TestBench
2:00:25 – Production build, PostgreSQL, and Heroku cloud deployment

source

42 Comments

  1. Thank you very much! I’m going to build the UI for my app with Vaadin Flow now. I hope I’ll be able to configure Vaadin/SpringBoot with Keycloak. Hope it will not be to hard

  2. Such frameworks tend to grow fat and error-prone, with too much magic under the hood. Indeed, even test example from official web site is not starting out of the box! Either a conflict with node.js modules or anything.. How is it supposed to catch a client, if the simplest test example "Hello, world" is not working out of the box? (Java 11, Vaadin 23.1.2, Node version unknown…)

  3. If you're just trying this tutorial for yourself and you're making your getToolBar() class make having it be a component wouldn't work for me so try making it a HorizontalLayout and have it return "toolbar".

  4. In the download link provided in the description of the video, there is no "data" folder containing the contact, generator, repository, and service classes. Where can I find these?

  5. Hi thank you so much for this amazing video. I encountered this "java.lang.IllegalArgumentException: Malformed uxxxx encoding while mvn install" error and resolved it by deleting pre-existing npm which located in C:UsersjayAppDataRoamingnpm

  6. Superb video, fantastic framework. But in my vaadin project I struggle with the live reload. Every time I make a change and rebuild the project, the whole app restarts completely which takes too long. I have the devtools in the pom and use embedded tomcat. In your video the live reload is realy fast. Do I miss something?

  7. Thank you for it. Looks like current starter has 11 Java, in tutorial it is 8, so it make issues while deploy to heroku. Also i got issues with access to testbench pack (while charts works ok). Thanks again

  8. Thanks for the tutorial. I've managed to successfully go through it up to 1:33:27. I'm using chrome and there is no installation button (it is there on youtube, for example). What can be the cause of problem?

  9. Hello I'm currently getting an error when trying to run the application. The error lies within the main class. The error I'm receiving states "Java cannot find symbol variable LaunchUtil" Thanks in advance.

  10. Downloaded the project, imported it into IntelliJ and tried to run it, but I get an error:

    ERROR 27608 — [ restartedMain] o.h.engine.jdbc.spi.SqlExceptionHelper : Value too long for column "NAME VARCHAR(255)": "STRINGDECODE('{n ^^nSyntaxError: Unexpected token =>n at exports.runInThisContext (vm.js:73:16)n … (462)"; SQL statement:
    insert into company (name, id) values (?, ?) [22001-200]

    I can't find where the error originates. I am new to Spring Boot and Vaadin. Was looking forward to this tutorial, but I don't know how to fix the problem so I can run the project and then proceed.

Leave A Reply

Please enter your comment!
Please enter your name here