Índice

Análisis


@startuml
start
  :Usuario selecciona un curso existente;
  :Usuario ve los detalles del curso;
  :Usuario selecciona "Modificar Curso";
  :Sistema carga los detalles del curso en el formulario de modificación;
  :Usuario modifica la información del curso;
  if (Datos válidos) then (Sí)
    :Sistema actualiza los datos del curso;
    :Sistema muestra mensaje "Curso actualizado con éxito";
  else (No)
    :Sistema muestra mensaje de error "Datos inválidos";
  endif
  :Usuario cierra la ventana de modificación de curso;
stop
@enduml

Untitled

T-REQ19 | Casos de prueba de creación de curso

Untitled

Untitled

Untitled

Diseño


@startuml
database "Mongo DB" {
  folder "Courses" {
    [courses]
  }
}

node "Backend" {
  folder "models" {
    [course.model.js]
  }
  folder "controllers" {
    [course.controller.js]
    [files.controller.js]
  }
  folder "routes" {
    [course.routes.js]
  }
  folder "Backend utils" {
    [apiFeatures.js]
    [catchAsync.js]
  }
  [App.js]
}

node "Frontend" {
  folder "screens" {
    folder "screens" {
      [CreateOrUpdateCourse.js]
    }
  }
  folder "components" {
    folder "inputs" {
      [TextInput.js]
      [NumberInput.js]
      [FileInput.js]
    }
    folder "cards" {
      [CourseCard.js]
    }
    folder "buttons" {
      [BaseButton.js]
    }
  }
  folder "client" {
    folder "Course" {
      [Course.POST.js]
      [Course.PATCH.js]
    }
  }
  folder "utils" {
    [alertHandler.js]
  }
}

[CreateOrUpdateCourse.js] --> [Course.POST.js]
[CreateOrUpdateCourse.js] --> [Course.PATCH.js]
[CreateOrUpdateCourse.js] --> [BaseButton.js]
[CreateOrUpdateCourse.js] --> [TextInput.js]
[CreateOrUpdateCourse.js] --> [FileInput.js]
[CreateOrUpdateCourse.js] --> [CourseCard.js]
[CreateOrUpdateCourse.js] --> [NumberInput.js]
[CreateOrUpdateCourse.js] --> [alertHandler.js]
[Course.POST.js] --> [course.routes.js]
[Course.PATCH.js] --> [course.routes.js]
[course.routes.js] --> [course.controller.js]
[course.routes.js] --> [files.controller.js]
[course.controller.js] --> [apiFeatures.js]
[course.controller.js] --> [catchAsync.js]
[course.controller.js] --> [course.model.js]
[course.model.js] --> [Mongo DB]
@enduml

Untitled

Untitled