Práctica: Generación de informes y visualización de datos
Proyecto de base de datos por temática
Listado de temáticas
- Reservas de instalaciones
- Gimnasio / centro deportivo
- Gestión de cursos o academias
- Biblioteca
- Restaurante
- Hotel
- Centro médico básico
- Gestión de tareas / proyectos
- Alquiler de vehículos
- Parking
- Gestión de incidencias
- Gestión de cine
- Empresa de mensajería
- Gestión de torneos
- Gestión de viajes
- Centro de coworking
Contexto
Cada alumno/a diseñará una base de datos propia, relacionada con una temática asignada.
Dicha base de datos debe permitir la realización de consultas complejas y la generación de informes dinámicos a partir de la selección de datos por parte del usuario.
A modo de referencia, en clase se ha trabajado con varias bases de datos de ejemplo, pero cada alumno/a deberá aplicar esta práctica a su propia temática, respetando los requisitos indicados.
Objetivo de la práctica
El objetivo de esta práctica es que el alumnado sea capaz de:
- Diseñar consultas SQL adaptadas a su modelo de datos.
- Cargar datos de la base de datos en controles de selección (por ejemplo, ComboBox).
- Generar consultas dinámicas en función de la selección del usuario.
- Crear informes y gráficos a partir de datos filtrados.
- Presentar la información de forma clara y orientada a un usuario final.
Parte 1. Interfaz de consultas
Cada alumno/a deberá desarrollar una interfaz gráfica que permita filtrar la información antes de generar informes o gráficos.
La interfaz deberá incluir, al menos:
- Uno o varios controles desplegables (
ComboBox) cargados dinámicamente desde la base de datos usando un servicio de N8N. - Controles adicionales según temática (fechas, estados, categorías, etc.).
- Uso de
AutoCompleteBox
Ejemplos orientativos:
- Selección de un evento, festival, curso o producto desde un ComboBox.
- Selección de un tipo, categoría o estado.
- Filtros encadenados (la selección de un ComboBox condiciona los valores de otro).
Parte 2. Consultas dinámicas y predictivas
Las consultas SQL no deben ser estáticas.
El sistema debe generar consultas dinámicas en función de la selección realizada por el usuario en la interfaz.
Ejemplos:
- Al seleccionar un elemento principal, se cargan automáticamente sus datos asociados.
- Al elegir una categoría, se filtran los resultados disponibles.
Parte 3. Informe individual
A partir de la selección realizada en la interfaz, se deberá generar un informe individual relacionado con la temática del proyecto.
El informe debe incluir:
- Datos obtenidos a partir de la consulta dinámica.
- Información relacionada mediante claves foráneas.
- Al menos un dato calculado o agregado.
- Textos estáticos explicativos.
- Fecha de generación del informe.
Parte 4. Informe tabular (tabla)
Crear un informe con formato tabla, cuyos datos estén condicionados por los filtros seleccionados en la interfaz.
La tabla debe:
- Mostrar varios registros.
- Incluir datos de varias tablas.
- Estar correctamente ordenada.
- Incluir al menos un campo agregado.
Parte 5. Gráficos estadísticos
A partir de las consultas filtradas, se deben generar tres gráficos distintos:
1. Gráfico de barras
Comparación de valores entre categorías.
2. Gráfico circular
Distribución porcentual de los datos.
3. Gráfico de líneas
Evolución temporal de los datos seleccionados.
Los gráficos deben actualizarse en función de la selección realizada en la interfaz.
Parte 6. Requisitos técnicos
- Todas las consultas deben realizarse mediante SQL.
- Los datos de los ComboBox deben cargarse desde la base de datos por medio de N8N.
- Se debe evitar la duplicación innecesaria de consultas.
- Se valorará el uso correcto de:
JOINWHEREGROUP BY- Parámetros en las consultas
Parte 7. Elementos avanzados del informe
Los informes generados deberán incluir elementos visuales avanzados propios de un documento profesional.
- Código QR, generado dinámicamente, que represente información relevante del informe
(por ejemplo: identificador del registro, texto descriptivo o enlace). - Imágenes, que podrán ser:
- Logotipo del proyecto.
- Imagen relacionada con la temática.
- Uso de fuentes tipográficas distintas a las estándar, configuradas correctamente en el informe.
Parte 8 (opcional). Generación automática de resumen del informe (n8n + Ollama)
De forma opcional, se podrá implementar un sistema de generación automática de un resumen del informe, utilizando n8n y un modelo de lenguaje ejecutado localmente mediante Ollama.
El objetivo es generar un texto breve y comprensible, dirigido a un usuario no técnico, a partir de los datos reales obtenidos en las consultas del proyecto.
El resumen deberá:
- Explicar de forma general el contenido del informe.
- Destacar datos relevantes o tendencias.
- Generarse automáticamente (no redactado a mano).
Requisitos mínimos:
- Uso de n8n para la automatización del flujo.
- Uso de Ollama como modelo de lenguaje local.
- Integración del resumen en la aplicación o en el informe generado.
Este apartado se valorará como mejora y no es obligatorio para superar la práctica.
Entrega
La entrega deberá incluir:
- Proyecto de avalonia
- Proyecto de SpringBoot (API Rest)
- Archivos jrxml (jasper)
- JSON de los microservicios de N8N
Se valorará:
- Correcta carga dinámica de datos en la interfaz.
- Funcionamiento de las consultas dependientes.
- Calidad y claridad de los informes.
- Correcta generación de gráficos.
- Organización y limpieza del código.
Fecha de entrega: 27 de febrero a las 23:30
- El proyecto deberá compilar y ejecutarse correctamente. En caso contrario, la prueba se considerará no superada.
- Los apartados que no estén correctamente implementados no serán evaluados.
- Un informe que no se genere correctamente se considerará no válido.
Para superar esta parte del módulo y poder hacer media con el examen, será necesario alcanzar una nota igual o mayor a 5 sobre 10. (Examen 60% - Proyecto 40%)