Preparar y presentar
Guarda borradores, elige proveedor y supervisor, añade conceptos e importes y presenta la solicitud.
Proyecto personal · Demo con datos ficticios
Una solicitud. Tres perspectivas. Código y pruebas consultables.
La idea
Proveedor, conceptos, cantidades, importes y decisiones forman parte del mismo proceso. La aplicación reúne esa información para preparar una solicitud, revisarla y consultar lo ocurrido después.
Es un objetivo de diseño, no un ahorro medido en una empresa. Se trata de un proyecto personal y la demo utiliza datos ficticios.
Tres perspectivas
Guarda borradores, elige proveedor y supervisor, añade conceptos e importes y presenta la solicitud.
Revisa las solicitudes que le corresponden y aprueba o rechaza. La decisión queda registrada.
Lee los acontecimientos y el historial que sus permisos permiten; no modifica las solicitudes.
El producto también incorpora gestión de proveedores. No todas las operaciones están disponibles para cualquier rol de la demo.
Un recorrido breve
Sin registro personal. Datos ficticios. Espacio temporal. Hay tres plazas de prueba; si están ocupadas, vuelve más tarde.
Abre la demo y pulsa Reservar mi espacio. La reserva dura 60 minutos.
Crea una solicitud. Busca y selecciona proveedor y supervisor, añade conceptos e importes y preséntala. No introduzcas datos personales ni información real de empresas.
Vuelve a Demo sin liberar el espacio, entra como supervisor y revisa la solicitud para aprobarla o rechazarla.
Regresa a Demo, entra como auditor y comprueba el historial del mismo espacio.
Pulsa Liberar mi espacio. Los datos son temporales y se reciclan.
Puedes probar una cantidad de 5 y un precio de 98,8: el importe es 494,00 €. Es un ejemplo, no un valor que necesariamente encontrarás precargado.
No necesitas cuenta personal ni contraseña compartida para reservar. El formulario Acceso muestra el acceso convencional con cuenta propia. Cada reserva usa una base de datos independiente dentro de una instalación compartida, no un servidor físico nuevo.
Ver las instrucciones de inicio (abre en una pestaña nueva)Dentro de la aplicación
Capturas aportadas del despliegue público del 19/10/2026, versión ui-20261019142334. Muestran datos ficticios y un estado pasado; no disponibilidad actual.
Cómo está construida
Angular presenta la interfaz; la API Java/Spring comprueba permisos y reglas antes de trabajar con PostgreSQL. Nginx recibe las conexiones HTTPS.
Los servicios se empaquetan con Docker Compose. Se separan frontend, backend compartido, PostgreSQL y procesos de provisión. Las reservas mantienen datos separados en la misma instalación.
Este es el stack aplicado en el producto. Mi nivel personal sigue siendo junior: Java como base, Spring en consolidación y Angular/TypeScript en iniciación.
Decisiones que importan
Si dos operaciones parten de versiones distintas, un cambio no debería borrar sin aviso lo que acaba de hacer otra persona. El control de concurrencia trata ese conflicto.
Leer las decisiones de concurrencia (abre en una pestaña nueva)Repetir una misma intención identificada no debe crear otra operación. Esa es la función de la idempotencia; no significa que todas las solicitudes parecidas sean iguales.
Ver las reglas especificadas (abre en una pestaña nueva)Se conservan acontecimientos consultables y cada visitante trabaja con los datos de su reserva. El historial no inventa hechos anteriores que no se registraron.
Leer la configuración pública (abre en una pestaña nueva)Pruebas
Las pruebas de piezas revisan reglas concretas. Las de integración comprueban componentes juntos. Los recorridos de navegador ejercitan la interfaz, y los recibos del despliegue documentan una versión publicada.
Una captura no demuestra por sí sola la lógica de negocio. Un resultado de CI tampoco garantiza disponibilidad permanente.
Abrir código, pruebas y fuentesMi papel
Es un proyecto personal desarrollado con asistencia de IA bajo mi dirección. Defino el alcance y las reglas, tomo decisiones, organizo tareas y reviso las entregas con apoyo de pruebas y documentación. La implementación y las revisiones asistidas quedan reflejadas en el proceso; continúo estudiando el código para consolidar mi criterio técnico.
Uso desarrollo guiado por especificaciones (SDD) y agentes con roles. Es una metodología de desarrollo, no un chatbot integrado en la aplicación ni una sustitución del aprendizaje.
Alcance y límites
Datos ficticios, tres espacios temporales y una instalación compartida. No se promete disponibilidad continua ni capacidad para cientos de usuarios.
La evidencia de una copia inicial y una restauración QA no acredita las copias externas periódicas, la recuperación global, el reinicio completo del VPS ni la comprobación con el PC apagado. Son controles operativos pendientes de acreditar, separados de la CI.