# Descripción general
El dashboard de la universidad TCR es una herramienta de consulta para los usuarios de moodle TCR. La información que se consulta en el dashboard viene directamente de moodle, por lo que la información se necesita actualizar de manera regular. Para esto el sistema cuenta con un script de ejecución continua con un lapso de 5 minutos entre cada actualización.
Las calificaciones y usuarios nuevos es necesario actualizar de manera manual. Se explicará más adelante.
El dashboard cuenta con su base de datos independiente. Esta base de datos es llenada con la información de la base de datos de moodle.
Existen 3 áreas en las cuales encontrarás este proyecto (sin contar el área local)
Área dev en la que el desarrollador podrá subir y 'mergear' sus cambios por su cuenta, normalmente aquí se hacen las primeras pruebas por parte de QA (cuya rama se llama dev). MOODLE TCR DEV (opens new window).
Área de integración en la que cual se prueba antes de hacer una liberación, esta área es 'mergeada' con la rama dev y eso lo hace el devops (la rama se llama master). MOODLE TCR INTEGRACIÓN (opens new window)
-Área de producción. Aquí ya ni le muevas, el devops se encarga de 'mergear' la rama master a la rama prod. Para que tus cambios lleguen aquí debieron pasar por QA y por integración (eso en la mayoría de los casos). MOODLE TCR PRODUCCIÓN (opens new window)
# Perspectiva del producto
La idea de este dashboard es ser un sistema de consulta rápido para no depender de moodle. Es tener un espacio destinado a ver estadísticas de moodle TCR, estadísticas relacionadas con los cursos, las calificaciones por colaborador por curso, la cantidad de cursos por programa, usuarios por empresa, región, sucursal, entre otros puntos que pueden ser limitados o expandidos dependiendo de los filtros.
# Características de usuario
El usuario que tendrá acceso al dashboard será un usuario que encontraremos:
En moodle TCR
Administración del sitio > Plugins > Plugins locales > Operadores
En la base de datos de moodle TCR
En la tabla mdl_dashboard_session
El usuario que tenga acceso al dashboard podrá ver las calificaciones de todos los usuarios, al día de hoy 08/04/2022 no se han creado roles, así que se debe tener cuidado. Los roles se planea agregarlos desde la base de datos del dashboard y así hacer una validació directa en el proyecto del dashboard sin consultar a moodle.
# Ambiente de operación
El dash no necesita mayor detalle a su instalación, es un proyecto de laravel 7 con vuejs 2 así que no hay problema, es instalar un proyecto básico de laravel. La base de datos se puede pedir un respaldo de dev. Un respaldo de la base de datos del dashboar de la universidad de TCR, ese respaldo al día de hoy 08/04/2022 no es tan pesado así que sí se puede hacer completo, pero debes tener cuidado en cambiar las rutas para que apunte a tu local y no a otro área. Esos puntos se ven en la sección de preguntas frecuentes
# Limitaciones de diseño e implementación
El dash está limitado a los usuarios inscritos a cursos y usuarios activos, por parte de las gráficas, la idea en un inicio era que estas gráficas suplieran a los reportes por lo que no se necesitaría una exportación a excel ya que estaría rompiendo con la idea de un dashboard, para qué necesitarías ver un dashboard o un listado de usuarios si lo querrás en excel, sin embargo, esto último es de gran ayuda a QA para validar la información.
# Diseño
Está basado en componentes, algunos reutilizados de otros proyectos y un par de ellos, nuevos. Se utiliza Bootstrap en la mayoría de los estilos y se pretende seguir un esquema de css scoped para que los estilos no afecten a otros componentes. También la interacción se hace con algunas funciones de javascript así que no se utilizó vuex ni global mixins.
# Implementación
Su implementación está bajo Laravel 7 y Vuejs2 en su forma simple. De Laravel 7 se utiliza una API para consumir recursos de moodle y exponer servicios para el llenado de datos de las gráficas
# Supuestos
Se espera que la información esté actualizada con la información de moodle así que es mejor validar primero eso en BD antes de hacer un cambio en el front
# Dependencias
Con el sistema de moodle de TCR