Closed claudio-alvarez closed 2 months ago
Pensamos que para implementar operaciones en base de datos desde controladores en Express, podemos usar directamente la API de pg y bypassear la api "rest-pg". Tenemos que hacerlo conforme a pg 6.4.1. Hay documentación básica aquí:
https://www.npmjs.com/package/pg/v/6.4.1
Lo anterior es debido a que necesitaremos modificar el endpoint de /send-diff-selection en visor.js, de modo que verifique si existe suficiente cantidad de respuestas para invocar al servicio de análisis de contenido automático. Además, necesita verificar que el estado de la sesión sea "running" (valor 2 de atributo status de session), lo cual requiere query. Usará redis para guardar caché de cantidad de respuestas que han sido sometidas.
Aquí dejo una conversación con GPT sobre cómo crear endpoints en express, y cómo invocarlos desde controladores:
https://chat.openai.com/share/aae74d4d-fcc7-4089-bb8b-911977f94277
Además, aquí hay otra conversación con GPT que describe cómo lanzar la aplicación en modo debug: https://chat.openai.com/share/6b8c6e33-a27f-43ac-b416-ca0756f5adb9
Los cambios correspondientes a este issue se encuentran en el pull request #302. El contenido de este cambio se encuentran dentro de la rama "issue-289", la cual se encuentra en espera para revisión y merge con la rama "ethicapp-v2-ca".
Descripción general
En el backend de EthicApp se requiere implementar un endpoint de API que invoque el servicio de análisis automático de contenido. La URL del endpoint del servicio de análisis de contenido debiera ser configurable como variable de entorno (p.ej., en archivo .env, y luego en docker-compose).
El endpoint a implementar debiera obtener desde sus parámetros el contexto desde donde se requiere invocar al servicio, es decir, el id de sesión y posiblemente otros datos más.
¿Cuándo se usaría?
Este endpoint sería invocado por el mismo backend (contra sí mismo) cuando llega una nueva respuesta de un alumno a la sesión/fase/pregunta. Se requiere para disponer de análisis de contenido automático en dashboard de profesor en EthicApp.