I need some help better understanding Vaadin.

Hello all. Before I make my points, let me give you some background. I am comfortable with html/css/javascript. I will admit my Javascript isn’t up to most high level standards, and I am more or less still building basic applications, or maybe a CRUD in Vue, or using javascript to connect pages, etc. To be honest, I don’t get much practice in HTML/CSS/Javascript anymore, and quite frankly, i am fine with that, because I specifically want to learn a framework where I dont need to rely on HTMl/CSS.

I have never really worked with that many APis or public data before ( maybe a few weather app type tutorials that were basic), but I am hoping to do more data driven programming from here on out ( as to be honest, its the only programming I enjoy, as I like to look at stats and data anyway).

I am mostly a designer, and I just started Java this semester in College ( and I am learning quickly ). However, I am still confused on Java as a whole, and let me explain why…

When working in HTML/CSS/Javascript, I have almost always used either a firebase backend ( which was a tad confusing, but I am getting better with it and think its great! ), or a MySQL Database ( which I find super easy, but might not be the best option ). In Java, I have no idea where to start when it comes to full stack websites.

I know this may seem like a super “noob” question, but when building a web app or PWA in Java, what “frameworks” are used with Vaadin? Lets say I have a lot of data in an excel sheet or google sheet. This excel sheet has various rows and columns with different data like Name, age, balance, etc, and I want to display that data in “components” ( such as Vaadin’s table components ). How do I go about this, or simply providing data to a Vaadin front in in general?

I have heard a few words thrown around, like Spring, Spring Boot, Maven, etc. To be completely honest, I have no idea what spring is or what is does and I cant seem to really get a grasp of it when reading explainer videos, and same goes for Maven. I think that because I am so new to Java, a lot of the Java specific lingo goes over my head. The first time I used java was about 2 weeks ago, and I am having trouble understanding the “trends” or “common” practice for setting up web applications.

Where do I start if I want to learn to create great front ends with Vaadin, and serve data to the user, as someone who is very new to the concepts of java ( but not web development in general ).

My next project with be a “database” so to speak for specific items in a video game, that all have their own stats ( like damage, speed, etc ), and I want to host that data somewhere I can easily edit it and push updates to the web app and PWA. This data should be seen on the front end, first showing a list of items, then allowing users to click those items and display the information about that item.

I am sorry if this is question is too broad or noob, but I am new to Java and think Vaadin has a lot of potential and seems like a great framework to jump into, even if I am a begginner. Thank you for any responses in advance!