Skip to main content

Práctica: Generación de informes y visualización de datos

Proyecto de base de datos por temática

Listado de temáticas

  1. Reservas de instalaciones
  2. Gimnasio / centro deportivo
  3. Gestión de cursos o academias
  4. Biblioteca
  5. Restaurante
  6. Hotel
  7. Centro médico básico
  8. Gestión de tareas / proyectos
  9. Alquiler de vehículos
  10. Parking
  11. Gestión de incidencias
  12. Gestión de cine
  13. Empresa de mensajería
  14. Gestión de torneos
  15. Gestión de viajes
  16. 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:
    • JOIN
    • WHERE
    • GROUP 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

A tener en cuenta
  • 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.
NOTA

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%)