• Post category:StudyBullet-15
  • Reading time:9 mins read


Vaadin 14-23+ (with Spring Boot) – working with MongoDB, PDF, MS Excel, Vaadin Push, GridFS

What you will learn

Create, step-by-step, a basic single-page Vaadin application

Using Vaadin @Push for websocket communication

Create MS Excel files from dynamic data, use advanced formatting, embed images, etc.

Create PDF files on-fly with nice formatting, images, barcodes

Using MongoDB as a persistent data store(database backend)

Manage file upload and download using MongoDB GridFS as data storage from your Vaadin applications

Create web applications without writing JavaScript or HTML directly

Description

Welcome to the ‘FullStack Vaadin (23+) – Practical Solutions’ course. With this course, you are going to add value to your existing JAVA and Vaadin 23+ (with SpringBoot) knowledge by getting familiar with several techniques for solving specifically selected areas of JAVA application development. Each topic involves a project configuration section but mostly covers practical solutions being split into several steps.

We will focus on several topics often useful in corporate JAVA development but not exclusively. SpringBoot is being used here as an underlying framework, but solutions presented here are not specific to this platform and can be reused e.g. with recent Quarkus support, etc. Java 11 is used in this course (required by Vaadin 23+), but the solutions provided here are Java 8 compatible and reusable with legacy applications.

The primary idea of this course is to help existing Vaadin developers to adopt certain knowledge in an easy way. The solutions presented are being used for several years in production-grade Vaadin applications and the libraries used are well-known for stability and active development. This will protect the value invested into adopting some libraries or projects.

What you’ll learn

  • Create interactive application using modern LiveView like programming approach
  • Use of Java for creating a full stack application (frontend / backend)
  • Use of Push techniques for updating users from backend
  • Create collaboration types of applications using popular LiveView approach
  • Increase your programming speed 5x using Vaadin for building complex UIs
  • Create highly maintainable and easy to read application code
  • Add value to your existing SpringBoot development knowledge

Topics covered by this course:
During a course, we create a basic Vaadin single-page application and each lecture will add a new enhancement to it. Eventually, we create a single application with many different features.

  • create a full featured single page application using VAADIN
  • collaboration using server Push technology
  • export application data in MS Excel format with formatting and some other features
  • export application data in PDF format with formatting, embedded images or bar-codes
  • including MongoDB as persistent data storage
  • using GridFS as an attachment/file uploads data storage

An important part of this course is to realize ‘what we don’t need to do’ when using Vaadin. Simplification can be a huge and old saying that ‘the best code is the code you don’t have to write’ is proven here.


Get Instant Notification of New Courses on our Telegram channel.


GitHub repository:

The source code is available through the link attached to the last lecture in this course. You can clone the repo and use the code snippets we are building in this course.

Who is this course for:

‘FullStack Vaadin – Practical Solutions’ course is targeted at individuals or small/medium teams of professional Java developers that want to be productive and competitive in this large market. Techniques presented here can be reused easily in application development of many kinds.

Note: The course video quality was increased recently. Now we are running video footage in 1080p depending on your bandwidth available.

English
language

Content

Introduction

Course Introduction

Basic ToDo application step-by-step guide

Application overview – basic setup and dependencies
Single page app – overview
Single page app – layouts
Implementing simple in-memory data storage
Single page app – items view
What we are not doing – overview
Dynamic params from URL
Adding items
Removing items
What we are not doing – overview
Dynamic page title
Selecting / deselecting all items
Single Page application created

Server side @Push – real time communication

What is @Push about? Use cases.
Vaadin @Push broadcaster implementation
Using @Push broadcaster in our application – part 1
Using @Push broadcaster in our application – part 2
@Push – implementation summary

Working with MS Excel exports

MS Excel usage overview
Dependencies needed
Adding a export button to the screen
Building a backend code for creating MS Excel file part 1
Connect the backed Excel export implementation with our button
Applying a simple styling for our Excel file
Implementing MS Excel export of selected items
What we are not doing – overview

Adding PDF reporting

PDF usage overview
Building backend for creating PDF file part1
Building backend for creating PDF file part2
Adding HTML template (blueprint) for PDF
Implementing button for download PDF
Implementing button for download PDF part 2
What we are not doing – overview
Various PDF formatting
Adding images to PDF
Adding barcode to PDF
PDF reporting from Vaadin application overview

Storing data into MongoDB

Why MongoDB?
In-memory storage to MongoDB migration
Implementing basic application features – adding / removing items with MongoDB
MongoDB implementation summary

GridFS – file upload from Vaadin into MongoDB and vice-versa

What is GridFS and why to use it?
Storing file uploads into GridFS – backend
Storing file uploads into GridFS – frontend with Vaadin
What we are not doing – overview
Downloading files stored in GridFS – backend
Downloading files stored in GridFS – frontend
Deleting files from GridFS – backend
Deleting files from GridFS – frontend
Using store files metadata + project source link