Creando un sitio de videotutoriales

Archivada en Desarrollo

Creando un sitio de videotutoriales

Antecedentes

Existe un reto llamado 100 días de código que consiste en programar todos los días durante una hora, para aprender un nuevo lenguaje o para mejorar alguno ya conocido. Como tengo mucho que aprender de Django, he decidido crear un nuevo proyecto y trabajar en él durante 100 días.

Requisitos

El proyecto se llama LACar que son las siglas para Loca Academia de Cartografía y es una especie de clon de Udemy o esas plataformas de capacitación por videos. Veamos si podemos establecer las características iniciales que va a tener LACar.

  • Tiene dos tipos de usuarios: maestros y alumnos, unos suben los cursos, otros se inscriben a estos cursos.
  • Los maestros pueden crear, activar/desactivar o borrar cursos.
  • Los maestros pueden agregar, borrar, modificar, cambiar el orden de las lecciones.
  • Los alumnos y maestros pueden comentar cada lección.
  • Los comentarios de los maestros están identificados.
  • Los maestros y alumnos reciben una notificación cuando crean un comentario a su curso o contestan un comentario.

Los cursos están compuestos por n lecciones, generalmente en video, pero también es posible que tengan algún otro tipo de recursos, como un PDF, una presentación una plantilla de Geomedia, archivo Shape de Qgis, etc.

El proyecto incluye la parte del servidor o backend y la parte que se visualiza en el navegador o frontend.

Frontend

La idea es que el frontend de una lección se vea así:

Single View Lesson LACar

Para el frontend usaremos Bootstrap 4.3.1 ya que LACar se integrará con el Cuadro de Mando Integral. La parte del encabezado y del pie de página no serán tratados en esta serie.

Backend

Ahora bien, las claves de este proyecto son los modelos de los cursos, las lecciones. Y si queremos que se registre el avance de los alumnos, debemos enlazar a los alumnos con los cursos y lecciones.

El curso con el que haremos las pruebas, tiene unas 35 lecciones acomodadas en en secciones, además, tiene dos tipos de alumnos, de Junta Local o de las subdelegaciones o juntas distritales. Aunque no creo necesario bloquear el contenido.

WBS Caso Complejo

El curso además tiene dos lecciones de apoyo, que no forma parte propiamente del curso y algunos recursos como formatos, archivos de proyecto y de layout que tenemos que integrar al curso.

ReactJS

Creo que merece una mención aparte. El objetivo no solo es mejorar mi dominio de Django, sino también de React, así que vamos a integrar a Django y a React… o tal vez sea un proyecto independiente, en cuyo caso usaría Django Rest Framework. Ya veremos.

El día de mañana empezaré con los modelos.

Javier Sanchez Toledano

Soy programador en Django+Python y WordPress. Auditor líder certificado en la norma ISO 9001:2008. Fotógrafo aficionado.
Redes Sociales:

Tlaxcala, México

Comentarios