Angular 17 + Spring Boot 3 + Spring Security 6 + JWT
The main purpose of the application has been to demonstrate the implementation of the knowledge acquired throughout the training on the management of user access privileges to different elements (or modules as I will refer to throughout the document) of the application, the management of hierarchical users in different groups (called roles) and the administration by an authorised user. No less relevant has been the application of knowledge in the design and management of relational databases and their implementation platforms. Another factor taken into account was the security of the environment of use (JWT) and of the application (Angular), implementing functionalities such as the encryption of sensitive data, or the prevention of the use of elements sensitive to the injection of automated information (cracking or brute force attacks).
Architecture
This is the architecture that has been used for the production environment on a VPS.
The logical separation of frontend, backend and database.
Execution environment - Frontend
API documentation - Backend
Repository with content
Sources:
Spring security + JWT