SlideShare una empresa de Scribd logo
Indice
1. Introducción…………………………………………………………………………………………..
2. Propósito……………………………………………………………………………………………….
3. Alcance………………………………………………………………………………………………….
4. Especificaciones Técnicas………………………………………………………………………
5. Documentos de Referencia……………………………………………………………………
6. Diccionario de Datos……………………………………………………………………………..
7. Instalación…………………………………………………………………………………………….
8. Desplegar la aplicación………………………………………………………………………….
9. Estructura del Proyecto…………………………………………………………………………
10.Módulos del Sistema……………………………………………………………………………..
11.Paquetes de Laravelincluidos al Sistema………………………………………………
Manual Técnico
1.Introducción
El presente manual técnico tiene como finalidad mostrar las tecnologías que fueron usadas
para desarrollar el Sistema Umatest (Sistema de Evaluación de Exámenes En línea), breve
manual para preparar los ambientes de desarrollo del proyectos, así como también
referencias y documentación de paquetes de Laravel 5.1 que se usan actualmente en el
proyecto.
La implementación de UMATEST en ambientes web se basa en el framework Laravel, una
plataforma para crear aplicaciones web en tiempo real construida sobre PHP. Laravel se
localiza entre la base de datos de la aplicación y su interfaz de usuario y se encarga que las
dos partes estén sincronizadas. Como Laravel usa PHP, El resultado es una plataforma muy
potente y muy sencilla ya que Laravel abstrae muchas de las molestias y dificultades que
nos encontramos habitualmente en el desarrollo de aplicaciones web.
Como mención especial, podemos decir que utiliza Eloquent, que es una base de datos
orientada a Objetos. Esto quiere decir Que la manipulación de datos se lo realiza bajo este
paradigma.
2.Propósito
El propósito del presente es dar a conocer todas las tecnologías que fueron usadas para
implementar el sistema UMATEST.
3.Alcance
El alcance del presente documento es de proveer información importante acerca del
Sistema SAETIS (Sistema de Apoyo a la Empresa TIS), como ser tecnologías usadas, pasos
para la instalación de un ambiente de desarrollo, además de referencias a la documentación
de las tecnologías que fueron usadas para implementar dicho sistema.
4.Especificaciones Técnicas
Sistema Operativo: Windows 7, 8.1, 10 o GNU/Linux 16.04 o versiones superiores
Base de datos: MySQL
Leguaje de Programación: PHP 5.6, HTML5, CSS3, Framework (Laravel 5.1), JavaScript,
Jquery
Navegador Web: Google Chrome, IE, Firefox, Opera
IDE: Sublime Text 3
5.Documentación de referencia
Laravel: http://docs.laravel.com/#/basic/
Trello: https://trello.com/
GIT: http://git-scm.com/documentation/
6.Diccionario de Datos
A continuación se detallan todas las colecciones del sistema Umatest.
Colección 1. Variables del sistema
CAMPO TIPO OBSERVACIONES
_id String
Identificador autogenerado
por Laravel
num Number
variable autogenerado por
Laravel
state Number
Solo permite los valores [0,
1,2] que representan ['No
iniciada', 'En progreso',
'Finalizado'] respectivamente.
role_id Int
Representa el rol que
desempeña dentro del sistema
el usuario
Colección 2. Administrador
CAMPO TIPO OBSERVACIONES
nombre_user String Nombre del usuario
apellido_user String
genero_user String
password_user String
Colección 3. Registro
CAMPO TIPO OBSERVACIONES
Id_user
String _id del usuario
nombre_user
String
apellido_user
String
email_user
String
telefono_user
Number
Dirección_user
String
Id_acceso
String _id que se encarga del
acceso del administrador
Id_student
[String] _id’s de los estudiantes que
están registrados en la
materia
Enabled
Boolean Indica si la materia ha sido
habilitada o no
adviser
String _id del docente habilitado
por el administrador
task
String _id de la tarea asignada en el
grupo del docente
Colección 4. backups
CAMPO TIPO OBSERVACIONES
num
Number
description
String
check
Boolean
activityId
String _id de la Actividad a la que
pertenece este entregable
weekId
String _id de la Semana a la que
pertenece este entregable
Colección 5. Examenes
CAMPO TIPO OBSERVACIONES
collection
String Nombre de la colección de
datos a la que perteneceria
el Examen(ProjectDocument,
GlobalDocument)
key
String Id llave para relacionar con
colección correspondiente
access
String Tipo de acceso del
documento(publico, privado)
documentId
String Id del documento fisico al
cual va relacionado
Num_preg
String Colección de preguntas
insertadas al examen
entregado
Boolean Muestra si el examen fue
enviado o no al grupo de la
materia
Verificado
Boolean Muestra si el examen fue
verificado por el docente
Colección 6. Preguntas
CAMPO TIPO OBSERVACIONES
name
String
questions
String
place
String
date
String
time
String
observations
[Object]
company
String
project
String
createdAt
Date
toDocs
[String]
Colección 7. Registros
CAMPO TIPO OBSERVACIONES
user
String
date
Date
Colección 8. Verificaciones
CAMPO TIPO OBSERVACIONES
num
Number
description
String
check
Boolean
activityId
String
weekId
String
Colección 9. Estado-envio
CAMPO TIPO OBSERVACIONES
startDate
Date
endDate
Date
name
String
Colección 10. foros
CAMPO TIPO OBSERVACIONES
publicationDate
Date
summary
String
extraText
String
publisherName
String
publisherId
String
Colección 11. notas
CAMPO TIPO OBSERVACIONES
userId
String Id del usuario docente que
crea la nota
managementId
String Id de la gestion actual
name
String
description
String
associateCall
String
initialDate
Date
finishDAte
Date
access
String Publico, privado
startDateInscription
Date
endDateInscription
Date
Colección 12. envioDocumentos
CAMPO TIPO(Javascript) OBSERVACIONES
userId
String Id del usuario asesor que
envia los documentos
requeridos para la tarea o
examen
projectId
String Id del proyecto
name
String
description
String
initialPresentationDate
Date
initialPresentationTime
String
finishPresentationDate
Date
finishPresentationTime
String
delayPresentationTime
Number Tiempo de retraso permitido
para la entrega en horas
Colección 13. estudiante
CAMPO TIPO OBSERVACIONES
Nombre_id
String
Apellido_id
String
roI_id
String
legalAgent
Boolean
Colección 14. Usuarios
CAMPO TIPO OBSERVACIONES
username
String
email
String
password
String
7.Estructura Del Proyecto
El proyecto Umatest (Sistema de Evaluaciones en linea) presenta la siguiente estructura de
folders y archivos:
7.1. archivo .ENV
Es la definición de las variables de entorno. Podemos tener varios entornos donde vamos a mantener la
ejecución de la aplicación con varias variables que tengan valores diferentes. Temas como si estamos
trabajando con el debug activado, datos de conexión con la base de datos, servidores de envío de
correo, caché, etc. Datos de conexión con la base de datos, servidores de envío de correo, caché, etc.
7.2. archivo composer json
Que contiene información para Composer. Además en la raíz hay una serie de archivos que
tienen que ver con Git, el readme, o del lado frontend el package.json o incluso un gulpfile.js
que no vendria muy al caso comentar aquí porque no son cosas específicas de Laravel.
7.3. Carpeta Vendor
Esta carpeta contiene una cantidad de librerías externas, creadas por diversos desarrolladores
que son dependencias de Laravel. La carpeta vendor no la debemos tocar para nada, porque la
gestiona Composer, que es nuestro gestor de dependencias. Si nosotros tuviésemos que usar
una librería que no estuviera en la carpeta vendor la tendríamos que especificar en el archivo
composer.json en el campo require. Luego hacer un "composer update" para que la nueva
dependencia se instale.
7.4. Carpeta Storage
Es el sistema de almacenamiento automático del framework, donde se guardan cosas como la
caché, las sesiones o las vistas, logs, etc. Esta carpeta tampoco la vamos a tocar directamente,
salvo que tengamos que vaciarla para que todos esos archivos se tengan que generar de nuevo.
También podemos configurar Laravel para que use otros sistemas de almacenamiento para
elementos como la caché o las sesiones. En cuanto a las vistas cabe aclarar que no son las vistas
que vamos a programar nosotros, sino las vistas una vez compiladas, algo que genera Laravel
automáticamente en función de nuestras vistas que meteremos en otro lugar.
Esta carpeta contiene una cantidad de librerías externas, creadas por diversos desarrolladores
que son dependencias de Laravel. La carpeta vendor no la debemos tocar para nada, porque la
gestiona Composer, que es nuestro gestor de dependencias. Si nosotros tuviésemos que usar
una librería que no estuviera en la carpeta vendor la tendríamos que especificar en el archivo
composer.json en el campo require. Luego hacer un "composer update" para que la nueva
dependencia se instale.
7.5. Carpeta Resources
En Laravel 5 han creado esta carpeta, englobando distintos tipos de recursos, que antes
estaban dentro de la carpeta app. En resumen, en esta carpeta se guardan assets, archivos de
idioma (lang) y vistas.
Dentro de views tienes las vistas que crearás tú para el desarrollo de tu aplicación. En la
instalación básica encontrarás una serie de subcarpetas con diversos tipos de vistas que
durante el desarrollo podrias crear, vistas de emails, errores, de autenticación. Nosotros
podremos crear nuevas subcarpetas para organizar nuestras vistas. A propósito, en Laravel se
usa el motor de plantillas Blade.
7.6. Carpeta Public
Es el denominado "document root" del servidor web. Es el único subdirectorio que estará
accesible desde fuera mediante el servidor web. Dentro encontrarás ya varios archivos:
.htaccess
En el caso de Apache, este es el archivo que genera las URL amigables a buscadores. <7p>
favicon.ico
Es el icono de nuestra aplicación, que usará el navegador para el título de la página o al agregar
la página a favoritos.
index.php
Este es un archivo muy importante, que hace de embudo por el cual pasan todas las solicitudes
a archivos dentro del dominio donde se está usando Laravel. Estaría bien que abrieras ese
index.php para observar lo que tiene dentro. Para el que conozca el patrón "controlador
frontal" o "front controller" cabe decir que este index.php forma parte de él.
robots.txt
Que es algo que indica las cosas que puede y no puede hacer a la araña de Google y la de otros
motores de búsqueda. En la carpeta public podrás crear todas las subcarpetas que necesites en
tu sitio web para contener archivos con código Javascript, CSS, imágenes, etc.
7.7. Carpeta Database
Contiene las alimentaciones y migraciones de la base de datos que veremos más adelante.
7.8. Carpeta Bootstrap
Permite el sistema de arranque de Laravel, es otra carpeta que en principio no necesitamos
tocar.
7.9. Carpeta Config
Esta carpeta contiene toda una serie de archivos de configuración. La configuración de los
componentes del framework se hace por separado, por lo que encontraremos muchos archivos
PHP con configuraciones específicas de varios elementos que seguramente reconoceremos
fácilmente. La configuración principal está en app.php y luego hay archivos aparte para
configurar la base de datos, las sesiones, vistas, caché, mail, etc.
8.Modulos Del Sistema
8.1. Módulo autoform
Es el modulo encargado de la creación de formularios, este módulo se
caracteriza por generar un formulario de manera automática a partir del
Esquema de una colección. Su uso en la aplicación es de la siguiente manera:
Solo se necesita definir el template “autoform” y adicionar algunos parámetros
necesarios como ser:
 onSubmit: Es una función que se llamara cuando en el formulario se haga click
en el botón de submit.
 customValidation: Es una función que nos permite adicionar una validacion a
los campos del formulario.
 Title: El titulo del formulario
 submitButtonLabel: El nombre del botón de submit.
 cancelButtonLabel: El nombre del botón cancelar
 icon: Algun Icono necesario para el titulo
 showLabel: Si se desea que se muestren los nombres de los campos
8.2. Módulo Auntentificacion
Es encargado de validar el ingreso del usuario al sistema
 Auth: recibe los parámetros de acceso al Sistema
8.3. Módulo NuevoExamen
Modulo Encargado de la creación de un nuevo examen:
Primero ira llamando a la función validate , para corroborar los datos.
Luego se ira introduciendo los datos a los campos correspondientes, como ser:
• nombre_examen: es un campo donde se pondrá el nombre del Examen
• fecha_examen: En este campo se pondrá la fecha del nuevo examen
• puntaje_totalm: la cantidad de puntaje que valdrá el nuevo examen
8.4. Módulo EnviarExamen
Este módulo trabaja con la información que genera la creación de un nuevo
examen, ya que trabaja cuando existe creado un nuevo examen
Otra de la utilidades que realiza es que verifica que el examen fue enviado a los
estudiantes inscritos en el curso.
9.Paquetes Laravel Incluidos Al Proyecto
 adminLTE(https://almsaeedstudio.com/themes/AdminLTE/index2.html)
AdminLTE es una plantilla open source para paneles de control o dashboards
desarrollada con Bootstrap 3 , la cual nos brinda vistas reusables y responsive de
muchos componentes comunes para la parte administrativa de un proyecto.
 Crud-generator(https://packagist.org/packages/appzcoder/crud-generator)
La mayoría de nuestros proyectos utilizan modelos, vistas, controladores, entre
otros archivos comunes. Este paquete nos facilita en tiempo de creado de
módulos para manipular eventos de tipo CRUD (Create, Read, Update y Delete).
 Collective(https://laravelcollective.com)
Este paquete nos ayuda para utilizar las etiquetas dinámicas de Form y HTML
como por ejemplo: Html::style() y Form::text(), que fueron eliminados del
núcleo del framework (Illuminate.

Más contenido relacionado

PPTX
Ejecutables en Netbeans
PPTX
Manual de eclipse
PDF
Manual Instalación JLex & CUP
PDF
PPTX
Jlex y cup en java
DOCX
W7
PDF
Openldap
PDF
Instalar varios archivos .deb un solo comando desde consola
Ejecutables en Netbeans
Manual de eclipse
Manual Instalación JLex & CUP
Jlex y cup en java
W7
Openldap
Instalar varios archivos .deb un solo comando desde consola

La actualidad más candente (10)

PPT
Curso Formacion Apache Solr
PDF
PDF
Laboratorio de integración JFlex y CUP
DOCX
Selenium ff
PPTX
Eclipse 1 3
DOCX
Grupo#4 trabajo colaborativo1
PDF
Sistema de gestión de base de datos SQL UC
DOCX
Trabajo de ofimática ll 2º a Neri,Esperanza,Janet,Dulce,Guadalupe
DOC
Archivos java
PPTX
Eclipse
Curso Formacion Apache Solr
Laboratorio de integración JFlex y CUP
Selenium ff
Eclipse 1 3
Grupo#4 trabajo colaborativo1
Sistema de gestión de base de datos SQL UC
Trabajo de ofimática ll 2º a Neri,Esperanza,Janet,Dulce,Guadalupe
Archivos java
Eclipse
Publicidad

Destacado (15)

PPTX
Comply Global
PDF
HIET FULL
PPTX
slideshare. antonio
PPT
Medidas de dispersión
PPT
2. Introducción al parendizaje por libre elección
PPT
PPTX
Pinerolo ottobre
PPTX
EER Modeling
PPTX
Unidade 1
PPTX
1 vascular anomalies
PPT
My clil powerpoint
PDF
Feasibility study for Tourist Destination and Attraction
Comply Global
HIET FULL
slideshare. antonio
Medidas de dispersión
2. Introducción al parendizaje por libre elección
Pinerolo ottobre
EER Modeling
Unidade 1
1 vascular anomalies
My clil powerpoint
Feasibility study for Tourist Destination and Attraction
Publicidad

Similar a Manual tecnico umasoft (20)

PDF
Desarrollo rápido de apps web con laravel - DevAcademy
PPTX
Presentacion de diapositivas en el ámbito de la ingeniera en DS
PPTX
LARAVEL-01-INTRODUCCION.pptx
PDF
Laravel vc
PDF
-.-manual de LARAVEL bootcamp blablab-.-
ODP
Introducción a Kohana Framework
PPTX
Introducción a Laravel 5 - Un Framework para Artesanos Web
PPTX
Framework Laravel
PPTX
Symfony-Community: Introducción a Symfony Framework
PDF
Laravel 5.1
PPTX
Ecosistema laravel
PDF
"Al rico" PHP
PPTX
intro_laravel_mobile ...................
PPTX
Herramientas Digitales
PDF
laravel-es.31.pdf V laravel-laravel-es.31.pdfes.31.pdf
PDF
Laravel 5.1
PDF
Silex, desarrollo web ágil y profesional con PHP
PDF
Dreamweaver
PPTX
Curso Laravel basico.pptx
Desarrollo rápido de apps web con laravel - DevAcademy
Presentacion de diapositivas en el ámbito de la ingeniera en DS
LARAVEL-01-INTRODUCCION.pptx
Laravel vc
-.-manual de LARAVEL bootcamp blablab-.-
Introducción a Kohana Framework
Introducción a Laravel 5 - Un Framework para Artesanos Web
Framework Laravel
Symfony-Community: Introducción a Symfony Framework
Laravel 5.1
Ecosistema laravel
"Al rico" PHP
intro_laravel_mobile ...................
Herramientas Digitales
laravel-es.31.pdf V laravel-laravel-es.31.pdfes.31.pdf
Laravel 5.1
Silex, desarrollo web ágil y profesional con PHP
Dreamweaver
Curso Laravel basico.pptx

Último (20)

PDF
INFORME ESPECIAL BICENTENARIO DE BOLIVIA.pdf
PDF
Rendición_Pública_de_Cuentas_Inicial_2019.pdf
PDF
SEMANA 13.pdf MICROBIOLOGÍA Y PARÁSITISMO
PPTX
TICS EN HONDURAS, PAIS DE CENTROAMERICA.pptx
PPT
2010_06 FSI_ASBA Pruebas de Stress de Riesgo de Crédito El Caso Peruano MLUY_...
PDF
EJERCICIOS RESUELTOS CON SOLVER EXCEL.pdf
DOCX
Clase 2.1 Estudio de Casos - preguntas, hipótesis y objetivos 13.04.23.docx
PDF
PRESENTACION DE LA ASIGNATURA materiales no convencionales.pdf
PPTX
Tutoria 3. Unidad 2 PRUEBAS BIOLÓGICAS.pptx
PDF
MOVIMIENTO DE TIERRA Y ASFALTO.pdf 2025A
PPTX
EXPOSICIÓN 2021.pptxhgdfshdghsdgshdghsds
PPTX
DOROTHEA E OREM EXPO.pptx de una teoridta importante
PPTX
Abdomen HosAESREBBweubeehkrhkqhrkhehrjktil.pptx
PDF
Unidad Nº 1 Introduccion a Estadísticas
PPTX
Introducción al analisis de datos con Power bi
PPTX
FACTORES DE RIESGOS EN EL PERSONAL DE SALUD 2 DIAPOSITIVAS.pptx
PPTX
ESTRADA ORDEN INTERNO 111111111111111111
PDF
6°-Básico-Matemática-Diagrama-de-tallo-y-hoja_y_probabilidades.pdf
PDF
docsity-diapositivas-de-la-salud-mental.pdf
PDF
NORMA_1887_LEY_27269_Modificada_por_LEY_27310.pdf
INFORME ESPECIAL BICENTENARIO DE BOLIVIA.pdf
Rendición_Pública_de_Cuentas_Inicial_2019.pdf
SEMANA 13.pdf MICROBIOLOGÍA Y PARÁSITISMO
TICS EN HONDURAS, PAIS DE CENTROAMERICA.pptx
2010_06 FSI_ASBA Pruebas de Stress de Riesgo de Crédito El Caso Peruano MLUY_...
EJERCICIOS RESUELTOS CON SOLVER EXCEL.pdf
Clase 2.1 Estudio de Casos - preguntas, hipótesis y objetivos 13.04.23.docx
PRESENTACION DE LA ASIGNATURA materiales no convencionales.pdf
Tutoria 3. Unidad 2 PRUEBAS BIOLÓGICAS.pptx
MOVIMIENTO DE TIERRA Y ASFALTO.pdf 2025A
EXPOSICIÓN 2021.pptxhgdfshdghsdgshdghsds
DOROTHEA E OREM EXPO.pptx de una teoridta importante
Abdomen HosAESREBBweubeehkrhkqhrkhehrjktil.pptx
Unidad Nº 1 Introduccion a Estadísticas
Introducción al analisis de datos con Power bi
FACTORES DE RIESGOS EN EL PERSONAL DE SALUD 2 DIAPOSITIVAS.pptx
ESTRADA ORDEN INTERNO 111111111111111111
6°-Básico-Matemática-Diagrama-de-tallo-y-hoja_y_probabilidades.pdf
docsity-diapositivas-de-la-salud-mental.pdf
NORMA_1887_LEY_27269_Modificada_por_LEY_27310.pdf

Manual tecnico umasoft

  • 1. Indice 1. Introducción………………………………………………………………………………………….. 2. Propósito………………………………………………………………………………………………. 3. Alcance…………………………………………………………………………………………………. 4. Especificaciones Técnicas……………………………………………………………………… 5. Documentos de Referencia…………………………………………………………………… 6. Diccionario de Datos…………………………………………………………………………….. 7. Instalación……………………………………………………………………………………………. 8. Desplegar la aplicación…………………………………………………………………………. 9. Estructura del Proyecto………………………………………………………………………… 10.Módulos del Sistema…………………………………………………………………………….. 11.Paquetes de Laravelincluidos al Sistema………………………………………………
  • 2. Manual Técnico 1.Introducción El presente manual técnico tiene como finalidad mostrar las tecnologías que fueron usadas para desarrollar el Sistema Umatest (Sistema de Evaluación de Exámenes En línea), breve manual para preparar los ambientes de desarrollo del proyectos, así como también referencias y documentación de paquetes de Laravel 5.1 que se usan actualmente en el proyecto. La implementación de UMATEST en ambientes web se basa en el framework Laravel, una plataforma para crear aplicaciones web en tiempo real construida sobre PHP. Laravel se localiza entre la base de datos de la aplicación y su interfaz de usuario y se encarga que las dos partes estén sincronizadas. Como Laravel usa PHP, El resultado es una plataforma muy potente y muy sencilla ya que Laravel abstrae muchas de las molestias y dificultades que nos encontramos habitualmente en el desarrollo de aplicaciones web. Como mención especial, podemos decir que utiliza Eloquent, que es una base de datos orientada a Objetos. Esto quiere decir Que la manipulación de datos se lo realiza bajo este paradigma. 2.Propósito El propósito del presente es dar a conocer todas las tecnologías que fueron usadas para implementar el sistema UMATEST.
  • 3. 3.Alcance El alcance del presente documento es de proveer información importante acerca del Sistema SAETIS (Sistema de Apoyo a la Empresa TIS), como ser tecnologías usadas, pasos para la instalación de un ambiente de desarrollo, además de referencias a la documentación de las tecnologías que fueron usadas para implementar dicho sistema. 4.Especificaciones Técnicas Sistema Operativo: Windows 7, 8.1, 10 o GNU/Linux 16.04 o versiones superiores Base de datos: MySQL Leguaje de Programación: PHP 5.6, HTML5, CSS3, Framework (Laravel 5.1), JavaScript, Jquery Navegador Web: Google Chrome, IE, Firefox, Opera IDE: Sublime Text 3 5.Documentación de referencia Laravel: http://docs.laravel.com/#/basic/ Trello: https://trello.com/ GIT: http://git-scm.com/documentation/ 6.Diccionario de Datos A continuación se detallan todas las colecciones del sistema Umatest.
  • 4. Colección 1. Variables del sistema CAMPO TIPO OBSERVACIONES _id String Identificador autogenerado por Laravel num Number variable autogenerado por Laravel state Number Solo permite los valores [0, 1,2] que representan ['No iniciada', 'En progreso', 'Finalizado'] respectivamente. role_id Int Representa el rol que desempeña dentro del sistema el usuario Colección 2. Administrador CAMPO TIPO OBSERVACIONES nombre_user String Nombre del usuario apellido_user String genero_user String password_user String
  • 5. Colección 3. Registro CAMPO TIPO OBSERVACIONES Id_user String _id del usuario nombre_user String apellido_user String email_user String telefono_user Number Dirección_user String Id_acceso String _id que se encarga del acceso del administrador Id_student [String] _id’s de los estudiantes que están registrados en la materia Enabled Boolean Indica si la materia ha sido habilitada o no adviser String _id del docente habilitado por el administrador task String _id de la tarea asignada en el grupo del docente Colección 4. backups CAMPO TIPO OBSERVACIONES num Number description String
  • 6. check Boolean activityId String _id de la Actividad a la que pertenece este entregable weekId String _id de la Semana a la que pertenece este entregable Colección 5. Examenes CAMPO TIPO OBSERVACIONES collection String Nombre de la colección de datos a la que perteneceria el Examen(ProjectDocument, GlobalDocument) key String Id llave para relacionar con colección correspondiente access String Tipo de acceso del documento(publico, privado) documentId String Id del documento fisico al cual va relacionado Num_preg String Colección de preguntas insertadas al examen entregado Boolean Muestra si el examen fue enviado o no al grupo de la materia Verificado Boolean Muestra si el examen fue verificado por el docente Colección 6. Preguntas CAMPO TIPO OBSERVACIONES
  • 7. name String questions String place String date String time String observations [Object] company String project String createdAt Date toDocs [String] Colección 7. Registros CAMPO TIPO OBSERVACIONES user String date Date Colección 8. Verificaciones CAMPO TIPO OBSERVACIONES num Number description String check Boolean
  • 8. activityId String weekId String Colección 9. Estado-envio CAMPO TIPO OBSERVACIONES startDate Date endDate Date name String Colección 10. foros CAMPO TIPO OBSERVACIONES publicationDate Date summary String extraText String publisherName String publisherId String Colección 11. notas CAMPO TIPO OBSERVACIONES userId String Id del usuario docente que crea la nota managementId String Id de la gestion actual name String
  • 9. description String associateCall String initialDate Date finishDAte Date access String Publico, privado startDateInscription Date endDateInscription Date Colección 12. envioDocumentos CAMPO TIPO(Javascript) OBSERVACIONES userId String Id del usuario asesor que envia los documentos requeridos para la tarea o examen projectId String Id del proyecto name String description String initialPresentationDate Date initialPresentationTime String finishPresentationDate Date
  • 10. finishPresentationTime String delayPresentationTime Number Tiempo de retraso permitido para la entrega en horas Colección 13. estudiante CAMPO TIPO OBSERVACIONES Nombre_id String Apellido_id String roI_id String legalAgent Boolean Colección 14. Usuarios CAMPO TIPO OBSERVACIONES username String email String password String 7.Estructura Del Proyecto El proyecto Umatest (Sistema de Evaluaciones en linea) presenta la siguiente estructura de folders y archivos:
  • 11. 7.1. archivo .ENV Es la definición de las variables de entorno. Podemos tener varios entornos donde vamos a mantener la ejecución de la aplicación con varias variables que tengan valores diferentes. Temas como si estamos trabajando con el debug activado, datos de conexión con la base de datos, servidores de envío de correo, caché, etc. Datos de conexión con la base de datos, servidores de envío de correo, caché, etc. 7.2. archivo composer json Que contiene información para Composer. Además en la raíz hay una serie de archivos que tienen que ver con Git, el readme, o del lado frontend el package.json o incluso un gulpfile.js que no vendria muy al caso comentar aquí porque no son cosas específicas de Laravel. 7.3. Carpeta Vendor
  • 12. Esta carpeta contiene una cantidad de librerías externas, creadas por diversos desarrolladores que son dependencias de Laravel. La carpeta vendor no la debemos tocar para nada, porque la gestiona Composer, que es nuestro gestor de dependencias. Si nosotros tuviésemos que usar una librería que no estuviera en la carpeta vendor la tendríamos que especificar en el archivo composer.json en el campo require. Luego hacer un "composer update" para que la nueva dependencia se instale. 7.4. Carpeta Storage Es el sistema de almacenamiento automático del framework, donde se guardan cosas como la caché, las sesiones o las vistas, logs, etc. Esta carpeta tampoco la vamos a tocar directamente, salvo que tengamos que vaciarla para que todos esos archivos se tengan que generar de nuevo. También podemos configurar Laravel para que use otros sistemas de almacenamiento para elementos como la caché o las sesiones. En cuanto a las vistas cabe aclarar que no son las vistas que vamos a programar nosotros, sino las vistas una vez compiladas, algo que genera Laravel automáticamente en función de nuestras vistas que meteremos en otro lugar. Esta carpeta contiene una cantidad de librerías externas, creadas por diversos desarrolladores que son dependencias de Laravel. La carpeta vendor no la debemos tocar para nada, porque la gestiona Composer, que es nuestro gestor de dependencias. Si nosotros tuviésemos que usar una librería que no estuviera en la carpeta vendor la tendríamos que especificar en el archivo composer.json en el campo require. Luego hacer un "composer update" para que la nueva dependencia se instale. 7.5. Carpeta Resources En Laravel 5 han creado esta carpeta, englobando distintos tipos de recursos, que antes estaban dentro de la carpeta app. En resumen, en esta carpeta se guardan assets, archivos de idioma (lang) y vistas. Dentro de views tienes las vistas que crearás tú para el desarrollo de tu aplicación. En la instalación básica encontrarás una serie de subcarpetas con diversos tipos de vistas que
  • 13. durante el desarrollo podrias crear, vistas de emails, errores, de autenticación. Nosotros podremos crear nuevas subcarpetas para organizar nuestras vistas. A propósito, en Laravel se usa el motor de plantillas Blade. 7.6. Carpeta Public Es el denominado "document root" del servidor web. Es el único subdirectorio que estará accesible desde fuera mediante el servidor web. Dentro encontrarás ya varios archivos: .htaccess En el caso de Apache, este es el archivo que genera las URL amigables a buscadores. <7p> favicon.ico Es el icono de nuestra aplicación, que usará el navegador para el título de la página o al agregar la página a favoritos. index.php Este es un archivo muy importante, que hace de embudo por el cual pasan todas las solicitudes a archivos dentro del dominio donde se está usando Laravel. Estaría bien que abrieras ese index.php para observar lo que tiene dentro. Para el que conozca el patrón "controlador frontal" o "front controller" cabe decir que este index.php forma parte de él. robots.txt Que es algo que indica las cosas que puede y no puede hacer a la araña de Google y la de otros motores de búsqueda. En la carpeta public podrás crear todas las subcarpetas que necesites en tu sitio web para contener archivos con código Javascript, CSS, imágenes, etc. 7.7. Carpeta Database
  • 14. Contiene las alimentaciones y migraciones de la base de datos que veremos más adelante. 7.8. Carpeta Bootstrap Permite el sistema de arranque de Laravel, es otra carpeta que en principio no necesitamos tocar. 7.9. Carpeta Config Esta carpeta contiene toda una serie de archivos de configuración. La configuración de los componentes del framework se hace por separado, por lo que encontraremos muchos archivos PHP con configuraciones específicas de varios elementos que seguramente reconoceremos fácilmente. La configuración principal está en app.php y luego hay archivos aparte para configurar la base de datos, las sesiones, vistas, caché, mail, etc. 8.Modulos Del Sistema 8.1. Módulo autoform Es el modulo encargado de la creación de formularios, este módulo se caracteriza por generar un formulario de manera automática a partir del Esquema de una colección. Su uso en la aplicación es de la siguiente manera:
  • 15. Solo se necesita definir el template “autoform” y adicionar algunos parámetros necesarios como ser:  onSubmit: Es una función que se llamara cuando en el formulario se haga click en el botón de submit.  customValidation: Es una función que nos permite adicionar una validacion a los campos del formulario.  Title: El titulo del formulario  submitButtonLabel: El nombre del botón de submit.  cancelButtonLabel: El nombre del botón cancelar  icon: Algun Icono necesario para el titulo  showLabel: Si se desea que se muestren los nombres de los campos 8.2. Módulo Auntentificacion Es encargado de validar el ingreso del usuario al sistema
  • 16.  Auth: recibe los parámetros de acceso al Sistema 8.3. Módulo NuevoExamen Modulo Encargado de la creación de un nuevo examen:
  • 17. Primero ira llamando a la función validate , para corroborar los datos. Luego se ira introduciendo los datos a los campos correspondientes, como ser: • nombre_examen: es un campo donde se pondrá el nombre del Examen • fecha_examen: En este campo se pondrá la fecha del nuevo examen • puntaje_totalm: la cantidad de puntaje que valdrá el nuevo examen 8.4. Módulo EnviarExamen Este módulo trabaja con la información que genera la creación de un nuevo examen, ya que trabaja cuando existe creado un nuevo examen Otra de la utilidades que realiza es que verifica que el examen fue enviado a los estudiantes inscritos en el curso.
  • 18. 9.Paquetes Laravel Incluidos Al Proyecto  adminLTE(https://almsaeedstudio.com/themes/AdminLTE/index2.html) AdminLTE es una plantilla open source para paneles de control o dashboards desarrollada con Bootstrap 3 , la cual nos brinda vistas reusables y responsive de muchos componentes comunes para la parte administrativa de un proyecto.  Crud-generator(https://packagist.org/packages/appzcoder/crud-generator) La mayoría de nuestros proyectos utilizan modelos, vistas, controladores, entre otros archivos comunes. Este paquete nos facilita en tiempo de creado de módulos para manipular eventos de tipo CRUD (Create, Read, Update y Delete).  Collective(https://laravelcollective.com) Este paquete nos ayuda para utilizar las etiquetas dinámicas de Form y HTML como por ejemplo: Html::style() y Form::text(), que fueron eliminados del núcleo del framework (Illuminate.