Building Scalable Applications with Thymeleaf and Spring Boot

Course Overview

In this course, you will learn how to build easily scalable applications with Thymeleaf and Spring Boot. More specifically, you will combine Thymeleaf and Spring Boot with Spring Data and Spring Security. In a nutshell, this course will give you all the basics you need to start developing an application using Thymeleaf and Spring Boot. Throughout the course, you will be building an application of a fictional basketball team called Thyme Wizards. Additionally, you will also learn to use unit and integration tests to ensure the proper code functionality and build a maintainable codebase that you can expand upon. By the end, you will have a new project to add to your portfolio and some great new skills that employers will love.

Takeaway skills

Course Contents

Getting Started
  • Introduction to the Course
  • Main Objectives
  • Setting Up Local Environment
  • Spring Initializr
  • Setting up PostgreSQL Locally
  • Running Cypress Tests from JUnit
  • JUnit Testfactory
2. What are Spring Boot and Thymeleaf?
  • Spring Framework
  • Spring Boot and Thymeleaf
  • Structure of a Spring Application
  • Quiz Yourself on Spring Boot and Thymeleaf
Thymeleaf Introduction
  • What is Thymeleaf?
  • Writing our First Template
  • Writing our First Controller
  • Thymeleaf Expressions
  • Thymeleaf Attributes
  • Quiz Yourself on Thymeleaf
Thyme Wizards
  • Cascading Style Sheets
  • Tailwind CSS
  • Adding Tailwind CSS
  • Configure Maven
  • Tailwind Design System Configuration
  • Application Shell
  • Application Shell – Client-Side Interactivity
  • Quiz Yourself on Thyme Wizards
Fragments
  • Introduction to Fragments
  • Fragments with Parameters
  • Fragments with HTML Snippets as Parameters
  • Inline Separate SVG Files
  • Homepage Refactoring
  • Menu Item Components
  • Quiz Yourself on Fragments
Layouts
  • Introduction to Layouts
  • Layouts with Parameters
  • Page Titles
  • Homepage Refactoring
  • Quiz Yourself on Layouts
Controllers
  • Introduction to Controllers
  • Exposing Data to the View
  • Path Parameters
  • Posting Data
  • Team and User Controllers
  • Quiz Yourself on Controllers
Internationalization
  • Introduction to Internationalization
  • Selecting Language Using Query
  • Menu Items Translations
  • Quiz Yourself on Internationalization
Database Connection
  • Introduction to Database Connection
  • Getting Started with Spring Data JPA
  • User Repository
  • Adding Properties to User
  • Quiz Yourself on Database Connection
Displaying Data
  • Introduction to Displaying Data
  • Parameters vs. FormData objects
  • Get Users on the HTML Page
  • Refactor the Table Using Fragments
  • Using Pagination
  • Hide Columns on Mobile
  • Quiz Yourself on Displaying Data
Forms
  • Introduction to Forms
  • Error Messages
  • Custom Error Messages
  • Custom Validator
  • Errors Summary
  • Validation Groups and Order
  • Quiz Yourself on Forms
Data Editing
  • Add User Button
  • Edit User Data
  • Refactoring to Fragments
  • Handling Optimistic Locking Failure
  • Custom Error Pages
  • Quiz Yourself on Data Editing
Implement Deletion of an Entity
  • Introduction to Delete Method
  • Using the DELETE HTTP Method
  • Flash Attributes
  • Quiz Yourself on Implementing Deletion
Security
  • Introduction to Spring Security
  • Hardcoded Password
  • User Roles
  • Thymeleaf Integration
  • Custom Login Page
Security - Users from Database
  • User Entity Updates
  • Spring Security Connection
  • Showing Current User Info
  • Creating User Form
  • Refactor the Edit User Implementation
  • Quiz Yourself on Security
Testing
  • Introduction to @WebMvcTest
  • Getting Started with @WebMvcTest
  • Authenticating in the @WebMvcTest
  • Testing Using HtmlUnit
Testing Using Cypress
  • Introduction to Cypress
  • First Cypress Test
  • Bypassing Login
  • Quiz Yourself on Testing
Tips & Tricks
  • Open Session in View
  • StringTrimmerEditor
  • Global Model Attributes
  • File Upload
  • Selecting a Linked Entity View
  • Dynamically Adding Rows
  • Static Server-Side Rendering – I
  • Server-Side Rendering – II
  • Making Updates Persistent
  • Adding Rows
  • Deleting Rows
  • Custom Editors and Formatters
  • Date Picker
  • Date Picker – Internationalization
  • Quiz Yourself on Tips and Tricks

Join more than 100+ learners from companies like​

Leave a Comment

Your email address will not be published. Required fields are marked *