Skip to content

Refactor: Improve assestment module#209

Merged
Frasquito3 merged 2 commits into
developfrom
refactor/improve-assestment-module
Feb 17, 2026
Merged

Refactor: Improve assestment module#209
Frasquito3 merged 2 commits into
developfrom
refactor/improve-assestment-module

Conversation

@LucaTvl
Copy link
Copy Markdown
Collaborator

@LucaTvl LucaTvl commented Feb 17, 2026

Resumen

Este PR implementa una optimización crítica en el servicio de evaluaciones ([AssessmentService] para resolver problemas de sobrecarga en la base de datos y latencia durante la entrega de exámenes.

Cambios Técnicos Implementados

  • Refactorización de [submitAttempt] (Envío Final):

    • Se eliminó el bucle for...of que ejecutaba consultas secuenciales por cada respuesta.
    • Se implementó Batch Loading usando el operador $in de MongoDB/MikroORM para cargar todas las preguntas y respuestas necesarias en solo 3 consultas (independientemente del número de preguntas).
    • La corrección de respuestas y cálculo de puntajes ahora se realiza en memoria, reduciendo drásticamente el I/O.
    • Se unificó la persistencia en una sola operación em.flush().
  • Refactorización de [saveMultipleAnswers] (Auto-guardado):

    • Se aplicó la misma lógica de carga masiva para evitar disparar múltiples transacciones durante el auto-guardado periódico.
    • Se eliminaron las llamadas redundantes a [submitAnswer], procesando todo el lote de respuestas en una sola ejecución.

@LucaTvl LucaTvl added refactor Improve the code structure, readability, or performance without changing its external behavior bugfix Fix existing bugs, errors, or unexpected behavior in the project labels Feb 17, 2026
@LucaTvl LucaTvl assigned LucaTvl and unassigned LucaTvl Feb 17, 2026
@Frasquito3 Frasquito3 merged commit bcd2c8c into develop Feb 17, 2026
3 checks passed
@LucaTvl LucaTvl deleted the refactor/improve-assestment-module branch February 17, 2026 18:40
Frasquito3 pushed a commit that referenced this pull request Feb 17, 2026
* feat: add description field to course and institution filter schemas (#203)

Co-authored-by: LucaTvl <lucatrincavell@frro.utn.edu.ar>

* Test: add coverage for dtos and mappers (#205)

* test: add unit tests for courseType DTOs and mappers

* test: add unit tests for institution DTOs and mappers

* chore: update mercado pago dependency

* Refactor: Improve assestment module (#209)

* wip: implement return to a assesstment

* refactor: assessment service

---------

Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com>
Co-authored-by: carlex <ricardogugliermino@gmail.com>

---------

Co-authored-by: LucaTvl <lucatrincavell@frro.utn.edu.ar>
Co-authored-by: Nicolás Pedemonte <pedemontenicolas2004@gmail.com>
Co-authored-by: carlex74 <r.icardogugliermino@gmail.com>
Co-authored-by: carlex <ricardogugliermino@gmail.com>
@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 17, 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugfix Fix existing bugs, errors, or unexpected behavior in the project refactor Improve the code structure, readability, or performance without changing its external behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants