udistrital / sga_documentacion

Repositorio para la documentación del sistema de gestión académica
MIT License
0 stars 0 forks source link

Análisis y ajuste de flujo backend y nivel mid para la culminación de ajuste de espacios modulares en los procesos de asignación del PTD, Verificar PTD, Consolidado PTD y Revisión de PTD #52

Open fabianbarreto02 opened 7 months ago

fabianbarreto02 commented 7 months ago

Se requiere realizar el Análisis y ajuste de flujo backend y nivel mid para la culminación de ajuste de espacios modulares en los procesos de asignación del PTD, Verificar PTD, Consolidado PTD y Revisión de PTD

Sub Tareas

Criterios de aceptación

Requerimientos

No aplica

Definition of Ready - DoR

Definition of Done - DoD - Desarrollo

fabianbarreto02 commented 6 months ago

@NeFaWaltPint por favor documentar issue

fabianbarreto02 commented 5 months ago

@NeFaWaltPint por favor documentar

NeFaWaltPint commented 5 months ago

Se define ajuste de tecnología BD a modelo horarios_crud

Previo a continuar con el ajuste de flujo para lo concerniente a plan trabajo docente en espacios modulares se opta por trasladar la arquitectura relacional de horarios_crud a no relacional en base de datos MongoDB y api en Nestjs.

El modelo de dato sigue siendo el mismo: modelo horarios_crud

[!Tip] Pero se obtiene ventaja ya que en MongoDB la búsqueda en campos json maneja la misma naturalidad que la navegación en las keys de un objeto json; esto permite realizar búsquedas dentro de objetos json desde el query= sin necesidad de consultar multiples registros y luego iterar sobre ellos hasta encontrar el valor deseado, por lo que se consiguen dos ventajas simplicidad en la consulta y menor tiempo de procesamiento. También, debido a que este modelo se plantea como transversal a otros procesos la flexibilidad de mongo va a permitir más fácilmente la integración o modificación del modelo.

NeFaWaltPint commented 5 months ago

Mejoras en consultas

[!TIP] Se ha mejorado filters, integra:

  • Las opciones de búsqueda de beego __icontains, __in, __gte, _lte, etc..
  • Búsqueda dentro de array inarray
  • Búsqueda dentro de json, el cual necesita de casting para identificar el tipo que desea comparar y filtrar, soporta:
    • <n> = numero
    • <d> = fechas
    • <b> = booleano
    • string por defecto
  • Se han inter-relacionado las colecciones, por lo que se pueden popular para traer la info anidada si se requiere.
  • Siguiendo la política de no borrado por auditoría, el método DELETE hace borrado lógico por Activo -> false.
  • Integra manejo de error en fallo interno del servicio errorHandler
  • HeathCheck con counter al igual que api beego
  • Logs en consola para trazabilidad de consultas.
NeFaWaltPint commented 5 months ago

HealtCheck

imagen

Modelos Relacionados

imagen los ids relacionados son obligatorios y deben existir

Populate para ver relacionado en getall

populate true imagen populate false imagen

Delete lógico

imagen

Log en console

imagen

Respuesta en fallo interno de api

imagen

NeFaWaltPint commented 5 months ago

[!NOTE] Las features de este modelo podrían servir como estándar de lineamiento para api nest