DavidL050 / InspireIQ

0 stars 0 forks source link

Crear view de registro de cursos #3

Open MateoVR13 opened 15 hours ago

MateoVR13 commented 15 hours ago

Crear view de registro de cursos

Descripción:

Se requiere implementar una vista para el registro de cursos en la aplicación. Esta vista permitirá que los usuarios (creadores de contenido) registren nuevos cursos en el sistema, de acuerdo con la estructura de la base de datos.

Requisitos:

  1. Formulario de registro:

    • Campos obligatorios:
      • Nombre del curso (name en la tabla courses)
      • Descripción del curso (description en la tabla courses)
      • Idioma (language en la tabla courses)
      • Imagen de portada (ruta de la imagen, cover_image en la tabla courses)
    • Campos opcionales:
      • Categorías del curso (seleccionadas de la tabla categories, a través de la tabla course_categories)
      • Rating (opcional, aunque inicialmente puede ser 0.00 como predeterminado)
  2. Validaciones:

    • Verificar que los campos obligatorios estén completos antes de permitir el registro del curso.
    • El nombre del curso debe ser único.
    • Validar que el idioma seleccionado esté dentro de un conjunto predefinido de idiomas válidos.
  3. Vista:

    • Mostrar un mensaje de éxito cuando el curso se registre correctamente en la tabla courses.
    • En caso de error, se deben mostrar mensajes claros que indiquen qué campo requiere corrección.
    • La vista debe incluir un campo para subir la imagen de portada del curso (campo cover_image), que permita guardar la ruta del archivo en la base de datos.
  4. Integraciones:

    • Conectar el formulario con la tabla courses y realizar las siguientes acciones:
      • Insertar los datos del curso en la tabla courses, incluyendo el creator_id que referencia al user_id del creador de contenido.
      • Insertar las categorías seleccionadas en la tabla course_categories.
    • Redirigir a la página de lista de cursos una vez completado el registro, mostrando el curso recién agregado.

Notas adicionales: