Disclaimer:
- This project main purpose was a learning experience to tackle Thymeleaf and HTMX integration with Spring Boot.
- It may contain unpolished, experimental or rushed code that needs to be refactored and modernized.
A Java Spring Boot web application that acts as a bridge between a user and two third party APIs [1] [2].
This application allows the user to fetch and store data locally, for a later offline access.
The data is made available to the user through two means:
- A REST API exchanging data using the JSON format.
- A simple yet modern graphical user interface.
The persistence layer is managed by Spring Data JPA and Hibernate.
The JSON serialization/deserialization is handled by Jackson.
The frontend is built using Thymeleaf coupled with Thymeleaf Layout Dialect.
The frontend form-based authentication process is managed by Spring Security using a custom authentication provider (to be eventually replaced by OATH 2).
Reloading partial views of a page is made possible using HTMX.
The styling is done with the Minimal CSS Framework Pico.css.
Bootstrap Table adds sorting and searching capabilities to some tables.
Frontend dependencies, such as JavaScript and CSS libraries, are managed through Maven via Webjars.
Lombok is used to reduce boilerplate code.
The mapping between Java bean types is done using MapStruct.
The project's build is managed by Maven.
The application allows the user to access:
- The active leagues.
- The characters of his account.
- The inventory of a character (2D view).
- The stash tabs of his account.
- The content of a stash tab (table view and 2D view).
- The market overview of a specified league.
- The ladder of a specified league.