Proyectos

Control de inventario - Fullstack
Aplicación web para la gestión de de productos

Proyecto Final DAM (EduConnect)
Aplicación para tutorías personalizadas

Reservas - Restaurante
Aplicación de reservas para un restaurante

Agencia de viajes
Aplicación web de una agencia de viajes
Canal de denuncias anónimas
Web que permite a empleados presentar quejas anónimas.

E-commerce
Tienda online
EduConnect






Educonnect es una aplicación web para clases particulares online, desarrollada en Laravel. Sus principales funcionalidades son:
- Registro de Usuarios: Estudiantes y profesores pueden registrarse. Los profesores eligen las asignaturas que imparten.
- Comunicación: Chat integrado para profesores y estudiantes.
- Gestión de Tutorías: Calendario interactivo con FullCalendar para programar y gestionar eventos con recordatorios por correo.
- Búsqueda de Profesores: Filtros por nombre, asignatura, curso, fecha y hora.
- Personalización de Perfil: Todos los usuarios pueden personalizar su perfil con fotos.
Este proyecto recibió un de 10 por su funcionalidad y diseño optimizados. Además, ha sido cedido a Cesur como ejemplo destacado de proyecto para futuros alumnos.
Documentación del Proyecto
Reservas-Restaurante
.png)









Reservas-Restaurante es una aplicación diseñada con el framework Spring Boot, utilizando el motor de plantillas Thymeleaf y la base de datos PostgreSQL. Esta aplicación permite a los restaurantes ofrecer a sus clientes la posibilidad de efectuar reservas de forma online.
- Registro de Usuarios y Login: Los usuarios pueden registrarse y acceder a la aplicación mediante login.
- Efectuar Reservas: Los usuarios registrados pueden efectuar reservas en las horas disponibles que el restaurante permite.
- Gestión de Reservas: Los usuarios pueden ver todas sus reservas, así como actualizar, editar y eliminar sus reservas.
- Actualizar Perfil: Los usuarios pueden actualizar sus datos personales como nombre, correo, teléfono, etc. También pueden cambiar su contraseña o eliminar su perfil.
-
Rol de Restaurante:
- Gestión de Reservas: Los usuarios con el rol de restaurante (trabajadores) pueden ver todas las reservas efectuadas en el día para administrar la organización.
- Análisis y Estadísticas: El software permite a la gestión del restaurante visualizar diferentes gráficas para identificar a los mejores clientes en la temporada seleccionada y determinar los días o semanas con más reservas. Esto facilita una mejor administración del potencial del restaurante.
- Gestión de Clientes: Los trabajadores del restaurante pueden ver todos los usuarios registrados y tienen la capacidad de bloquear a aquellos clientes que no se han presentado en sus reservas.
Este proyecto destaca por su enfoque en la organización y eficiencia de reservas, proporcionando una interfaz amigable tanto para clientes como para el personal del restaurante.
Agencia de viajes
Este proyecto es una aplicación web basada en microservicios que simula una agencia de viajes. Está desarrollada en Spring Boot y utiliza MongoDB como base de datos principal. La aplicación está compuesta por los siguientes microservicios:
-
Microservicios:
- Hoteles: Gestiona la información relacionada con los hoteles disponibles.
- Vuelos: Maneja los vuelos disponibles para reserva.
- Reservas: Permite gestionar las reservas de vuelos y hoteles.
-
Servicios Adicionales:
- Eureka Server: Actúa como servidor de descubrimiento de servicios, permitiendo que los microservicios se registren y comuniquen entre sí.
- Spring Cloud Config: Centraliza la configuración de los microservicios, con los archivos de configuración almacenados en un repositorio GitHub.
- API Gateway: Maneja el enrutamiento de las solicitudes a los microservicios correspondientes, actuando como punto de entrada a la aplicación.
-
Base de Datos:
El sistema utiliza MongoDB como base de datos, permitiendo el almacenamiento de información de vuelos, hoteles y reservas.
Canal de denuncias anónimas
Proyecto desarrollado de forma colaborativa durante mis prácticas. Esta web ofrece a las empresas un canal seguro y anónimo para que los empleados puedan presentar reclamaciones, quejas o sugerencias.
Cuando un trabajador envía su reclamación a través de un formulario, se le asigna un identificador único, permitiéndole consultar el estado de su solicitud o verificar si ha recibido una respuesta. Por otro lado, el empresario cuenta con un gestor de correo donde puede visualizar todos los mensajes recibidos, responder a ellos o eliminarlos.
El mensaje tiene tres estados: "Enviado", "Visto" y "Cerrado". El estado se actualiza a "Cerrado" si el empresario elimina el mensaje o cierra la conversación. De esta manera, el trabajador puede conocer el estado de su queja en todo momento. Además del gestor de correo, el empresario dispone de gráficos que le permiten analizar, entre otros datos, en qué época del año recibe más mensajes y cuál es el tipo de mensaje más común.
E-Comerce












Tienda AmR
Prototipo de tienda online
Este proyecto ha sido creado con Laravel, utilizando la tecnología de Livewire 3 para implementar funcionalidades dinámicas y reactivas en el frontend.
Funcionalidades
-
Usuario:
- Registro y autenticación: El usuario debe estar registrado para realizar compras.
- Carrito de compras: Permite añadir productos a la cesta y gestionar los artículos seleccionados.
- Proceso de pago: Simula el proceso de pago de los productos en el carrito.
- Factura en PDF: Al finalizar la compra, se genera un archivo PDF con los detalles de la transacción.
-
Administrador:
- Gestión de categorías y productos: Crear, editar y eliminar categorías y productos.
- Estadísticas: Visualizar una gráfica con los productos más vendidos.
- Gestión de usuarios: Crear, editar y asignar roles de usuario (cliente) o administrador.
Tecnologías utilizadas
- Framework: Laravel (PHP).
- Frontend: Blade con componentes Livewire 3.
- Base de datos: MySQL.
- Gráficas: Chart.js para visualización de datos.
- Generación de PDFs: Laravel Dompdf.
Este proyecto busca ser una base para una tienda online funcional, ofreciendo una experiencia fluida tanto para clientes como administradores.
Control de Inventario





Sistema de Inventario Fullstack
Aplicación web de control de inventario
Este proyecto fullstack ha sido desarrollado con Spring Boot para el backend y Angular 16 para el frontend. Ofrece funcionalidades completas para la gestión de productos, movimientos de stock, autenticación de usuarios y visualización de estadísticas. Se ha implementado con buenas prácticas de arquitectura, pruebas, seguridad y despliegue en la nube.
Funcionalidades
-
Usuarios y roles:
- Login con Keycloak: Autenticación segura mediante JWT con gestión de roles (admin/usuario).
- Control de acceso: Acceso limitado a funciones según permisos del usuario.
-
Inventario:
- Gestión de productos y categorías: Alta, baja y modificación de productos, con validaciones.
- Control de stock: Registro de entradas y salidas con actualización automática del inventario.
- Dashboard: Estadísticas dinámicas de productos y stock con gráficas (Chart.js).
- Exportación: Generación de reportes en Excel.
-
Arquitectura y despliegue:
- Backend en Spring Boot: Servicios RESTful conectados a base de datos MySQL.
- Frontend en Angular: Aplicación modular y responsiva con Angular Material.
- Despliegue en GCP: Keycloak, backend y frontend desplegados en Google Cloud Platform mediante Docker.
Tecnologías utilizadas
- Backend: Spring Boot 3, Java 17, MySQL, Keycloak, Docker, JUnit, Mockito.
- Frontend: Angular 16, Angular Material, Chart.js, TypeScript, HTML, CSS.
- DevOps y metodología: GitHub, Gitflow, Trello, Kanban, Google Cloud Platform.
Este sistema fue construido aplicando metodologías ágiles, buenas prácticas de desarrollo y herramientas reales de la industria. Representa un entorno ideal para el control de inventario en pequeñas o medianas empresas.