udistrital / sga_cliente

:heavy_check_mark: Check: cliente del Sistema de Gestión Académica (SGA)
Other
1 stars 3 forks source link

Análisis y definición de la librería para la compilación de documentos en go #1152

Closed fabianbarreto02 closed 1 year ago

fabianbarreto02 commented 1 year ago

Se debe realizar el Análisis y definición de la librería para la compilación de documentos en go, la issue debe cumplir con los siguientes requerimientos:

NeFaWaltPint commented 1 year ago

Hay dos posibilidades:

  1. Usar archive/zip en Golang MID -> librería
  2. Usar JSZip en Angular CLIENTE -> librería

1. Método 1: todo el proceso recae en MID

  1. Recolecta el listado de documentos base64
  2. Se decodifican y se organizan
  3. Uso de archive/zip para comprimir
  4. Codifica nuevamente a base64
  5. Envío a cliente
  6. Cliente debe decodificar y guardar como zip

2. Método 2: la compresión la realiza Cliente

  1. MID recolecta el listado de documentos base64 y organiza los archivos.
  2. MID los envía a cliente en un JSON
  3. Cliente recibe, decodifica los archivos,
  4. convierte a zip mediante JSZip
  5. guardar

De las dos alternativas presentadas la más opcionada es la No. 2, ya que se evita hacer tanta codificación y decodificación de base64, claro está que realizar la compresión en cliente puede resultar lento si son bastantes documentos; pero, se prevé que la implementación puede ser más rápida.

fabianbarreto02 commented 1 year ago

Se da por finalizada la issue