Behind the Code

Arquitectura del Proyecto

Este portfolio no es una página estática. Es una aplicación Full Stack desarrollada desde cero con Spring Boot, MySQL, JavaScript y un CMS propio que permite administrar todo el contenido desde un panel privado.

Objetivos del proyecto

Una aplicación real para mostrar desarrollo, arquitectura y producto.

Portfolio administrable

Todo el contenido se gestiona desde un CMS propio, sin tocar el código fuente.

Arquitectura limpia

Backend organizado por capas: controllers, services, repositories, DTOs y mappers.

Seguridad real

Autenticación con JWT, roles y rutas protegidas mediante Spring Security.

Arquitectura general

Separación clara entre frontend público, CMS privado, API REST y base de datos.

Frontend público
HTML · CSS · JS
Fetch API
Spring Boot REST API
Controllers · Services · DTOs
Spring Data JPA
MySQL

Backend

API REST construida con Java y Spring Boot.

Stack principal

  • Java
  • Spring Boot
  • Spring Security
  • JWT
  • Hibernate / JPA
  • MySQL
  • Maven

Capas del backend

  • Controllers: exponen los endpoints REST.
  • Services: contienen la lógica de negocio.
  • Repositories: acceden a la base de datos.
  • DTOs: separan entidades internas y respuestas públicas.
  • Mappers: transforman entidades en respuestas limpias.

CMS de administración

Panel privado para gestionar todo el contenido del portfolio.

Dashboard

Usuarios y roles

Experiencia

Formación

Tecnologías

Proyectos

Blog

Contacto

Componentes reutilizables

El CMS utiliza una pequeña librería propia en JavaScript Vanilla.

CrudTable

Tabla reutilizable con búsqueda, paginación, acciones, formateo de columnas y hooks.

CrudForm

Generación dinámica de formularios con inputs, selects, multiselects, checkboxes y color picker.

CrudModal

Modales con autofocus, cierre con ESC, Ctrl + Enter para guardar y estado de carga.

Toast

Notificaciones visuales reutilizables para éxito, error, avisos e información.

Confirm

Confirmaciones personalizadas para acciones críticas como eliminar registros.

Dashboard Widgets

Tarjetas, métricas y gráficos generados desde datos reales de la API.

Seguridad

El panel privado está protegido mediante autenticación JWT.

1

Login

El usuario introduce sus credenciales.

2

JWT

El backend genera un token firmado.

3

Authorization

El frontend envía el token en cada petición protegida.

4

Roles

Spring Security valida permisos según ADMIN o EDITOR.

Métricas del proyecto

Una visión rápida del alcance técnico de la aplicación.

15+ tablas principales
25+ endpoints REST
10+ módulos CMS
50+ tecnologías documentadas

Próximas mejoras

Ideas preparadas para evolucionar el proyecto.

Producto

  • Internacionalización ES / EN.
  • Generación automática del CV.
  • Página individual para cada proyecto.
  • Blog con buscador, etiquetas y tiempo de lectura.

Infraestructura

  • Dockerización completa.
  • Pipeline CI/CD.
  • Tests automatizados.
  • Optimización SEO y Lighthouse.

Desarrollando software, formando profesionales e investigando las tecnologías del futuro.

Volver al portfolio