EthicApp-Development / ethicapp-main

EthicApp's main repository containing backend and frontend applications
MIT License
1 stars 1 forks source link

[ethicapp-v2-ca] Implementar endpoint en backend de EthicApp que permita invocar servicio de análisis automatizado de contenido #289

Closed claudio-alvarez closed 2 months ago

claudio-alvarez commented 7 months ago

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.

claudio-alvarez commented 6 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.

claudio-alvarez commented 6 months ago

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

claudio-alvarez commented 6 months ago

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

sdiazgt commented 5 months ago

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".