Angular 17 + Spring Boot 3 + Spring Security 6 + JWT

La finalidad principal de la aplicación, ha sido la demostración de la puesta en práctica de los conocimientos adquiridos sobre la gestión de privilegios de acceso de usuarios a distintos elementos (o módulos como me referiré a lo largo del documento) de la aplicación, la gestión de usuarios jerarquizados en distintos grupos (denominados roles) y la administración por parte de un usuario autorizado. No menos relevante ha sido la aplicación de los conocimientos en el diseño y gestión de bases de datos relacionales y las plataformas de implementación de estas. Otro factor que se ha tenido en cuenta ha sido la seguridad del entorno de uso (JWT) y de la aplicación (Angular), implementando funcionalidades como, la encriptación de datos sensibles, o la prevención en la utilización de elementos sensibles a la inyección de información automatizada (cracking o ataques de fuerza bruta).

Arquitectura

Esta es la arquitectura que se ha utilizado para el entorno de producción en un VPS.

VPS Architecture

Separación lógica del frontend, backend y la base de datos.

Architecture GesMerCa Frontend-Backend

Entorno de ejecución - Frontend

GesMerCa LogoDemo online

Documentación API - Backend

Swagger LogoDocumentación API online


Repositorio con el contenido

Repository


Fuentes:

Spring security + JWT