
Explore building smart web applications by leveraging Spring AI and integrating its capabilities into Java Spring Boot applications, enabling customer chat, automated email sending, and ticket creation.
Explore building AI powered web apps with Java Spring Boot, Spring AI, and React, mastering prompt engineering and practical integration for real-life scenarios.
Acquire familiarity with Java, Spring and its ecosystem, including Spring Boot and REST, as well as React and CSS, to build AI customer support apps with Spring AI and React.
Understand how large language models use neural networks and deep learning to understand and generate language via input, hidden, and output layers trained on vast data.
Generate a brand new spring boot project using the spring initializer, set up maven with Java 21, and add spring web and OpenAI dependencies for spring ai models.
Create an OpenAI account, generate an API key, and set it as an environment variable in IntelliJ to configure and run the project.
Configure chat options to specify a task model, using the default model if none is set, and adjust max tokens and temperature (e.g., GPT4 zero).
Learn to build an image-to-text chat endpoint that accepts text and image as multipart input, uses a system and user prompt, and tests with Postman.
Kick off your final AI customer support project by integrating Spring AI into a Spring Boot app, moving from back end to front end step by step.
Test run the project to verify the user, conversation, and ticket entity mappings and the generated schema, and configure the OpenAI API key in the properties file.
Create a test chat controller in Spring to test ai interactions by wiring a chat client, defining a system prompt and user message, and exposing a /chart endpoint.
Test controller to verify ai interactivity using postman and api v1 chart endpoint, validating responses to questions like what is java and how can I learn java via system prompt.
Explore prompt engineering as a plain-text programming language to communicate with llms. Learn zero-shot, few-shot, chain-of-thought, and rule-based prompts, plus techniques like clarity, contextualization, and iterative refinement.
Develop prompt engineering by creating a prompt template in a utils package, implementing a chat message DTO with session tracking, and wiring prompts to the conversation service.
Understand how the AI support service uses a mono from project reactor to wrap blocking AI calls on a dedicated I/O thread pool for non-blocking, asynchronous chat.
Understand how system, user, and assistant rows in prompt engineering guide AI behavior and responses, shaping the chat history for customer support.
Craft and apply system prompts to shape AI behavior. Test and refine prompts to assign roles, such as a medical doctor, and guide polite, concise responses.
Centralize the AI model for your chat client by configuring a shared model, API key from the environment, and options in a bin, enabling consistent requests.
Extract the customer's phone number and email from the chat history, then look up the user in the database and, if found, create a ticket using AI.
Learn to extract customer email and phone from chat history by building two helper methods, refactoring regex patterns, and streaming history to return user info.
extracts the user email and phone from chat history using regex, then fetches the user via a repository and finalizes by creating a ticket from memory storage.
Debugging chat history extraction, logging customer information, and refining a restricted phone number regex with mandatory country code to distinguish phones from order numbers, tested via postman.
Configure spring websocket messaging by enabling the websocket message broker and registering a chat endpoint with sockjs. Use a simple in-memory broker with app destination prefix to route messages.
Finalize the AI customer conversation by sending error messages via WebSocket to the chat UI when user data is incorrect, then summarize the history and generate a title.
Learn to summarize customer conversations with a dedicated prompt, generate titles from summaries, and save conversations before ticket creation in a Spring AI and React workflow.
Implement a ticket service for conversations by defining a service interface and implementation, creating a ticket DTO, and wiring a repository, with optional product order number extracted from chat history.
Fine-tune the conversation summary prompt to include the order number and exclude customer emails and phone numbers, test with postman, and configure the email server to send live ticket emails.
Create a ticket creation event and an event listener in Spring, wire the email notification service as a dependency, and trigger a ticket notification when the event fires.
Test run the email creation demonstrates sending a customer support email after retrieving the user by email address. The video covers debugging the find-by-email method and publishing the ticket event.
Wrap up covers final integration checks, verifies WebSocket messaging, and instructs extracting the order number from chat history to save with tickets while renaming the po number to order number.
Complete assignment 2 for building ai customer support with spring ai and react, applying practical workflows and frameworks to design responsive, scalable chat support solutions.
Walk through backend changes for the ticket system, including converting product id to string, adding order number handling in customer info, and returning the ticket for frontend use.
Perform a development environment check to verify tools, dependencies, and configurations for building AI customer support with Spring AI and React.
Deliver a home page overview by composing six components—header, navbar, welcome section, hero with logo and animation, team slider, and footer—organized in a VS Code project.
Implement the home page component by generating and rendering the support team component, applying classes from the index.css, and setting the inner div to display flex.
Implement a hero animation component by installing and importing the react slick slider, importing banner images, and configuring a looping, fading, autoplay slider with dot navigation.
Implement the support team component by building a team folder, importing carousel assets, integrating team data and images, and refining reusable settings for the slick carousel.
Put together all components, resolve import conflicts by renaming to team data, install slick carousel, and configure app routing with a header and footer to render the home page.
Implement enter-key handling to send messages, prevent page reload, and manage chat scrolling with an end-of-message ref, while showing a typing indicator as the AI prepares a reply.
Implement a chat interface for customer support by building the chat body, auto-scrolling on new messages, showing typing indicators, and handling enter and shift+enter to send.
Test run the project and fix console and config issues. Verify frontend-backend communication via WebSocket and ensure chat interactions trigger email notifications for tickets.
Build real-time customer support feedback by debugging WebSocket messaging, sending email notifications, and updating chat history with AI-generated feedback, ensuring the front end displays ticket actions.
Introduce a central message utils class to centralize strings and reuse them across services. Then log customer workflow steps to troubleshoot wrong numbers and websocket message delivery.
In this course, you will learn to create a fully functional AI-driven customer support application using Spring Boot, Spring Security, social login techniques, Spring AI, and React. This hands-on practical course will guide you through the entire development lifecycle, from initial setup to deployment.
Key Highlights:
Backend Development with Spring Boot:
Understand the fundamentals of Spring Boot and its architecture.
Create RESTful APIs to handle customer queries and support requests.
Implement security measures to protect user data and application integrity.
AI Integration with Spring AI:
Learn how to leverage AI technologies to automate responses and improve customer interactions.
Build chatbots that can handle common inquiries and escalate issues when necessary.
Explore machine learning models that can analyze customer data for insights.
Frontend Development with React:
Develop a dynamic and responsive user interface that enhances user engagement.
Integrate frontend components with the backend API for real-time data updates.
Learning Outcomes
By the end of this course, you will be able to
Design and implement a complete AI customer support application from scratch.
Integrate advanced AI features to enhance customer service capabilities.
Be equipped with the complete knowledge of modern web applications with AI.
Build an end-to-end full-stack web application with Spring Boot, Spring AI, and React.