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.
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 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 ...
DDD Part 3: Domain-Driven Design and the Hexagonal Architecture for Java Applications
This is the third part of our in-depth series on Domain-Driven Design (DDD). Part one discussed strategic domain-driven design, and part two discussed tactical domain-driven design. Updated for 2024. In this article, we'll take a look at how to turn a domain model into working software - ...
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 ...
Integrating Pinecone Vector Database into a Spring Boot Application
Dive into the process of integrating the Pinecone Vector database with a Spring Boot application using Java in this second installment of the Building an AI chatbot in Java series. Prerequisites The article assumes you have a Spring Boot application. The example project is a Spring Boot application ...