Category: Tutorials
Learn how to create a responsive signup form with error handling and cross-field validation written in pure Java. Last updated September 2024.
In this guide, we create a standard registration form with error handling and cross-field validation. This signup form is developed entirely in pure Java using Vaadin Flow (no HTML or JavaScript involved). What’s more, the form is responsive, meaning that it automatically adjusts its content to fit different screen sizes. You can explore the full source code on GitHub.
How to use Visual Studio Code with Java and Maven projects
Last updated September 2024. Java is one of many languages supported by Visual Studio Code (VS Code). Like most things in VS Code, Java support is extension-based. You may need several extensions, depending on the project type and stack you are working with. You can find more detail in Java in ...
Consuming GraphQL APIs from Java applications
Updated for 2024. GraphQL has become a common alternative to REST as a way to provide data to modern web applications. They both solve the same problem, but GraphQL comes with a different set of trade-offs. It is designed to answer challenges pertinent to larger organizations, such as inter-team ...
Building an OpenAI-powered chatbot in Java
Updated in August 2024. Want to build a better version of ChatGPT? Learn how to integrate OpenAI's Chat Completions API to add an intelligent chatbot to your Vaadin Flow chat application. Create a new chat app with OpenAI chatbot integration Using the service at start.vaadin.com, create a new ...
Consuming REST services from Java Spring Boot applications
Using REST services is still the de facto way of providing data to traditional front-end applications. They often act as a "public API" for third-party solutions like mobile apps or as a "persistence layer" for client-side web apps (React, Vue, etc.). Java is probably the most common platform for ...
Domain-Driven Design (DDD) and Hexagonal Architecture in Java
Welcome to the third installment of our Domain-Driven Design (DDD) series, updated for 2024. In Part 1, we explored Strategic Domain-Driven Design, and in Part 2, we focused on Tactical DDD. Now, we’ll show you how to transform a domain model into fully functional software by applying the ...
DDD Part 1: Strategic Domain-Driven Design
This is the first part of our in-depth series on Domain-Driven Design (DDD). Part two discusses tactical DDD, whereas, in part three, you'll learn how to apply DDD to working software using Java and Vaadin. Updated for 2024. Domain-Driven Design (DDD) has been around since Eric Evans published his ...
Deploying a Spring Boot app as a native GraalVM image with Docker
In this final part of the Building an AI chatbot in Java series, we will deploy the Spring Boot AI chatbot application we've built as a GraalVM native image. Requirements The instructions in the article assume you are working with the Hilla Spring Boot application we've built in the series, but the ...
Building a ChatGPT-based AI bot using Spring Boot, React, and Hilla
In this article, we'll build a custom AI chatbot application using Hilla, Spring Boot, React, OpenAI (ChatGPT), and Pinecone. The chatbot is designed to answer Vaadin Flow and Hilla development questions using up-to-date documentation as reference material. My earlier blog post details the concept. ...
Enhancing ChatGPT with Prompt Engineering and Token Counting in Java
This article is part three of the Building an AI chatbot in Java series, where we're building a custom AI chatbot application using Hilla, Spring Boot, React, OpenAI (ChatGPT), and Pinecone. The chatbot is designed to answer Vaadin Flow and Hilla development questions using up-to-date documentation ...