Upload
lynhu
View
242
Download
0
Embed Size (px)
Citation preview
I
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE
INGENIERÍA EN SISTEMAS COMPUTACIONALES
DESARROLLO DE UN PROTOTIPO DE UNA APLICACIÓN WEB
DESDE DISPOSITIVOS MÓVILES (SMARTPHONES) PARA
REALIZAR LA GESTIÓN DE SERVICIOS
VETERINARIOS
PROYECTO DE TITULACIÓN
Previa a la obtención del Título de:
INGENIERO EN SISTEMAS COMPUTACIONALES
AUTOR: Evelyn Castro Flores
TUTOR: Ing. Fernando Castro Aguilar
GUAYAQUIL – ECUADOR
2018
II
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
Autorización para Publicación del Proyecto de Titulación en Formato Digital
1. Identificación del Proyecto de Titulación
Nombre Alumno: Evelyn Patricia Castro Flores
Dirección: COVIEM Manzana 11 Villa 1
Teléfono: 0996092278 E-mail: [email protected]
Facultad: Ciencias Matemáticas y Físicas
Carrera: Ingeniería en Sistemas Computacionales
Título al que opta: Ingeniero en Sistemas Computacionales
Profesor Tutor: Ing. Fernando Castro Aguilar
Título del Proyecto de titulación: “DESARROLLO DE UN PROTOTIPO DE UNA APLICACIÓN WEB DESDE DISPOSITIVOS MÓVILES (SMARTPHONES) PARA REALIZAR LA GESTIÓN DE SERVICIOS VETERINARIOS”
Tema del Proyecto de Titulación: Creación de un prototipo,
aplicación web, servicios veterinarios, gestión.
III
APROBACIÓN DEL TUTOR
En mi calidad de Tutor del trabajo de titulación, “DESARROLLO DE UN
PROTOTIPO DE UNA APLICACIÓN WEB DESDE DISPOSITIVOS MÓVILES
(SMARTPHONES) PARA REALIZAR LA GESTIÓN DE SERVICIOS
VETERINARIOS “ elaborado por la Srta. Evelyn Patricia Castro Flores, Alumna no
titulada de la carrera de Ingeniería en Sistemas Computacionales, Facultad de
Ciencias Matemáticas y Físicas de la Universidad de Guayaquil, previo a la
obtención del Título de Ingeniero en Sistemas, me permito declarar que luego de
haber orientado, estudiado y revisado, la Apruebo en todas sus partes.
Atentamente
………………………………….......
Ing. Fernando Castro Aguilar MSc.
TUTOR
IV
DEDICATORIA
La dedicatoria de este proyecto va para
mi familia, ya que gracias a su apoyo
incondicional he logrado culminar con
éxito mi desarrollo profesional y también
para todas aquellas personas que han
contribuido de alguna manera a mi
formación, tanto en el ámbito personal
como profesionalmente.
.
V
AGRADECIMIENTO
Agradezco el apoyo de mi madre, mis
hermanas, y mi esposo, quienes me
motivaron a seguir adelante. También
agradezco a mis amigos y compañeros,
por sus consejos y acotaciones, y al Ing.
Manuel Vera, ya que sin su guía y ayuda
no hubiese culminado este trabajo.
Muchas Gracias.
VI
TRIBUNAL PROYECTO DE TITULACIÓN
Ing. Eduardo Santos Baquerizo, MSc..
DECANO DE LA FACULTAD DE
CIENCIAS MATEMÁTICAS Y FÍSICAS
Ing. Abel Alarcón Salvatierra, Mgs..
DIRECTOR DE LA CARRERA DE
INGENIERÍA EN SISTEMAS
COMPUTACIONALES
Ing. Cristhian Tomalá Mazzini, MSc.
PROFESOR REVISOR DEL ÁREA
TRIBUNAL
Ing. Cesar Espín Riofrío, Mgs.
PROFESOR REVISOR DEL ÁREA
TRIBUNAL
Ing. Fernando Castro Aguilar, MSc
PROFESOR TUTOR DEL
PROYECTO DE TITULACIÓN
Ab. Juan Chávez Atocha, Esp
SECRETARIO
VII
DECLARACIÓN EXPRESA
“La responsabilidad del contenido de
este Proyecto de Titulación, me
corresponden exclusivamente; y el
patrimonio intelectual de la misma a
la UNIVERSIDAD DE GUAYAQUIL”
Evelyn Patricia Castro Flores
AUTORA DEL PROYECTO DE
TITULACIÓN
8
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
DESARROLLO DE UN PROTOTIPO DE UNA APLICACIÓN WEB
DESDE DISPOSITIVOS MÓVILES (SMARTPHONES) PARA
REALIZAR LA GESTIÓN DE SERVICIOS
VETERINARIOS
Proyecto de Titulación que se presenta como requisito para optar por el título de
INGENIERO EN SISTEMAS COMPUTACIONALES
Autora: EVELYN PATRICIA CASTRO FLORES
C.I.0919556274
Tutor: Ing. Fernando Castro MSc.
Guayaquil, marzo 15 de 2018
IX
CERTIFICADO DE ACEPTACIÓN DEL TUTOR
En mi calidad de Tutor del proyecto de titulación, nombrado por el Consejo
Directivo de la Facultad de Ciencias Matemáticas y Físicas de la Universidad de
Guayaquil.
CERTIFICO:
Que he analizado el Proyecto de Titulación presentado por la
estudiante Evelyn Patricia Castro Flores, como requisito previo para optar por el
título de Ingeniero en Sistemas Computacionales cuyo problema es:
“DESARROLLO DE UN PROTOTIPO DE UNA APLICACIÓN WEB DESDE
DISPOSITIVOS MÓVILES (SMARTPHONES) PARA REALIZAR LA GESTIÓN DE
SERVICIOS VETERINARIOS”
Considero aprobado el trabajo en su totalidad.
Presentado por:
Evelyn Patricia Castro Flores
C.I.0919556274
Tutor: Ing. Fernando Castro MSc.
Guayaquil, marzo 15 de 2018
X
ÍNDICE GENERAL
AUTORIZACIÓN PARA PUBLICACIÓN DEL PROYECTO DE TITULACIÓN
EN FORMATO DIGITAL ................................................................................. II
APROBACIÓN DEL TUTOR ......................................................................... III
DEDICATORIA .............................................................................................. IV
AGRADECIMIENTO ....................................................................................... V
DECLARACIÓN EXPRESA .......................................................................... VII
CERTIFICADO DE ACEPTACIÓN DEL TUTOR ........................................... IX
ÍNDICE GENERAL ......................................................................................... X
ÍNDICE DE CUADROS ................................................................................ XIII
ÍNDICE DE GRÁFICOS ............................................................................... XV
ÍNDICE DE ILUSTRACIONES ................................................................... XVII
RESUMEN ....................................................................................................... I
ABSTRACT .................................................................................................... II
INTRODUCCIÓN ............................................................................................ 1
CAPÍTULO I – EL PROBLEMA ...................................................................... 3
PLANTEAMIENTO DEL PROBLEMA............................................................ 3
Ubicación del Problema en un Contexto .................................................. 3
Situación Conflicto Nudos Críticos ........................................................... 5
Delimitación del Problema ....................................................................... 6
Formulación del Problema ....................................................................... 6
Evaluación del Problema ......................................................................... 7
XI
OBJETIVOS DE LA INVESTIGACIÓN .......................................................... 8
Objetivo General ..................................................................................... 8
Objetivos Específicos .............................................................................. 8
ALCANCES DEL PROBLEMA ...................................................................... 9
JUSTIFICACIÓN E IMPORTANCIA ............................................................ 10
METODOLOGÍA DEL PROYECTO ............................................................. 11
CAPÍTULO II – MARCO TEÓRICO .............................................................. 13
ANTECEDENTES DEL ESTUDIO ............................................................... 13
FUNDAMENTACIÓN TEÓRICA .................................................................. 14
FUNDAMENTACIÓN LEGAL ...................................................................... 31
DEFINICIONES CONCEPTUALES ............................................................. 36
CAPÍTULO III – PROPUESTA TECNOLÓGICA ........................................... 39
ANÁLISIS DE FACTIBILIDAD ..................................................................... 39
Factibilidad operacional ......................................................................... 39
Factibilidad técnica ................................................................................ 40
Factibilidad legal .................................................................................... 42
Factibilidad económica .......................................................................... 42
ETAPAS DE LA METODOLOGÍA DEL PROYECTO ................................... 44
ENTREGABLES DEL PROYECTO ............................................................. 46
CRITERIOS DE VALIDACIÓN DE LA PROPUESTA ................................... 46
CAPÍTULO IV – CRITERIOS DE ACEPTACIÓN DEL PRODUCTO O
SERVICIO ..................................................................................................... 64
INFORME DE PRUEBAS ............................................................................ 64
SATISFACCIÓN DE USUARIOS POR MEDIO DE ENCUESTAS................ 68
XII
Encuestas para los clientes de la Clínica Veterinaria ............................. 70
Encuesta para Doctores de la Clínica Veterinaria Mascotas Felices ..... 74
CONCLUSIONES Y RECOMENDACIONES ................................................ 80
CONCLUSIONES ....................................................................................... 80
RECOMENDACIONES ............................................................................... 80
BIBLIOGRAFÍA ............................................................................................ 82
ANEXO 1 ...................................................................................................... 85
CRONOGRAMA .............................................................................................. 85
ANEXO 2 ...................................................................................................... 86
PREGUNTAS DIRIGIDAS A LOS DUEÑOS DE MASCOTAS ..................................... 86
ANEXO 3 ...................................................................................................... 87
PREGUNTAS DIRIGIDAS A LOS DOCTORES QUE ATIENDEN EN LA CLINICA
VETERINARIA ................................................................................................ 87
ANEXO 4 .................................................................................................................89
Manual de Usuario…………….…………………………………………………………...89-99
ANEXO 5 ...............................................................................................................100
Scripts de Base de Datos……………………………………………………………….100-120
XIII
ÍNDICE DE CUADROS
CUADRO N°1 Causas y Consecuencias del Problema………………………………………………5 CUADRO N°2 Tabla comparativa entre Lenguajes de Programación…...……..………………...16 CUADRO N°3 Tabla comparativa entre Bases de Datos.…………………...……………………..18 CUADRO N°4 Recursos del Ambiente de Desarrollo.………………………………………………41 CUADRO N°5 Costos del Recurso de Software......………………………………………………...43 CUADRO N°6 Costos de Recurso Humano......…………………………………………………..…43 CUADRO N°7 Costos de Recursos de Hardware………………………….……………………..…43 CUADRO N°8 Presupuesto del Proyecto…...………………………………………………………..44 CUADRO N°9 Herramientas Usadas en el Sitio Web…………………………………...........……48 CUADRO N°10 Población Clínica Veterinaria…………………………………………………………69 CUADRO N°11 Resultados de la Pregunta 1…...…………………………………………………….70 CUADRO N°12 Resultados de la Pregunta 2…...………………………………………………...…..71 CUADRO N°13 Resultados de la Pregunta 3…...………………………………………………..…...71 CUADRO N°14 Resultados de la Pregunta 4…...………………………………………………..…...72 CUADRO N°15 Resultados de la Pregunta 5…...………………………………………………..…...73 CUADRO N°16 Resultados de la Pregunta 6…...………………………………………………..…...73
XIV
CUADRO N°17 Resultados de la Pregunta 1…...………………………………………………..…...74 CUADRO N°18 Resultados de la Pregunta 2…...………………………………………………..…..75 CUADRO N°19 Resultados de la Pregunta 3…...………………………………………………..…..76 CUADRO N°20 Resultados de la Pregunta 4…...………………………………………………..…..76 CUADRO N°21 Resultados de la Pregunta 5…...………………………………………………..…..77 CUADRO N°22 Resultados de la Pregunta 6…...………………………………………………..…..78 CUADRO N°23 Resultados de la Pregunta 7…...………………………………………………….....78 CUADRO N°24 Resultados de la Pregunta 8…...…………………………………………………….79
XV
ÍNDICE DE GRÁFICOS
GRÁFICO N°1 Evaluación de Rendimiento de Sitio Web………………………………………...…64 GRÁFICO N°2 Código de Respuesta de Sitio Web ……………………...……..…………………..65 . GRÁFICO N°3 Evaluación de Rendimiento de la Aplicación ……………...……………………….65 GRÁFICO N°4 Evaluación 1………………………….………………………………………………...66 GRÁFICO N°5 Evaluación 2…………………........…………………………………………………...66 GRÁFICO N°6 Validación del Sitio de la Aplicación Web …………………………………….......67 GRÁFICO N°7 Código de Respuesta de la Aplicación Web…...………….………………………..67 GRÁFICO N°8 Resultado de Rendimiento de la Aplicación Web..…………………………………68 GRÁFICO N°9 Resultado Pregunta 1 – Encuesta……………………………………….......………70 GRÁFICO N°10 Resultado Pregunta 2 – Encuesta……………………………………….......………71 GRÁFICO N°11 Resultado Pregunta 3 – Encuesta……………………………………….......………72 GRÁFICO N°12 Resultado Pregunta 4 – Encuesta……………………………………….......………72 GRÁFICO N°13 Resultado Pregunta 5 – Encuesta……………………………………….......………73 GRÁFICO N°14 Resultado Pregunta 6 – Encuesta……………………………………….......………74 GRÁFICO N°15 Resultado Pregunta 1 – Encuesta……………………………………….......………74 GRÁFICO N°16 Resultado Pregunta 2 – Encuesta……………………………………….......………75
XVI
GRÁFICO N°17 Resultado Pregunta 3 – Encuesta……………………………………….....………..76 GRÁFICO N°18 Resultado Pregunta 4 – Encuesta……………………………………….......………77 GRÁFICO N°19 Resultado Pregunta 5 – Encuesta……………………………………….......………77 GRÁFICO N°20 Resultado Pregunta 6 – Encuesta……………………………………….......………78 GRÁFICO N°21 Resultado Pregunta 7 – Encuesta……………………………………….......………79 GRÁFICO N°22 Resultado Pregunta 8 – Encuesta……………………………………….......………79
XVII
ÍNDICE DE ILUSTRACIONES
ILUSTRACIÓN N°1 Modelo Básico de procesos del PMBOK……………………………………………11 ILUSTRACIÓN N°2: Logo Laravel……………………………………………………………………………15 ILUSTRACIÓN N°3: Logo PHP……………………………………………………………………………….17 ILUSTRACIÓN N°4: Logo MySQL……………………………………………………………………………18 ILUSTRACIÓN N°5: Logo JQuery……………………………………………………………………………20 ILUSTRACIÓN N°6: Logo Javascript………………………………………………………………………...21 ILUSTRACIÓN N°7: Logo HTML5……………………………………………………………………………22 ILUSTRACIÓN N°8: Logo CSS3……………………………………………………………………………...23 ILUSTRACIÓN N°9: Logo WordPress……………………………………………………………………….24 ILUSTRACIÓN N°10: Logo 1&1………………………………………………………………………………..26 ILUSTRACIÓN N°11 Portada De La Aplicación Web…………………………………………..…………..49 ILUSTRACIÓN N°12 Servicios que se Ofrecen: Vacunas…..……………………………………………..50 ILUSTRACIÓN N°13 Servicios Que Se Ofrecen: Atención Veterinaria…………………………………..51 ILUSTRACIÓN N°14 Servicios Que Se Ofrecen: Peluquería……………………………………………...52 ILUSTRACIÓN N°15 Otros Servicios Que Se Ofrecen: Esterilizaciones, Etc…………………………....52 ILUSTRACIÓN N°16 Otros Servicios: Venta De Accesorios Y Más……………………………………....53
XVIII
ILUSTRACIÓN N°17 Inicio De Sesión…………………………………………….………………………….53 ILUSTRACIÓN N°18 Registro de Usuario……………………………………………………………………54 ILUSTRACIÓN N°19 Validación De Correo….…...………………………………………………………….54 ILUSTRACIÓN N°20 Confirmación De Correo………………………………………………………………55 ILUSTRACIÓN N°21 Recuperar Contraseña…………………………………………………………...……55 ILUSTRACIÓN N°22 Envío De Email Para Recuperar Contraseña………………..……………………..56 ILUSTRACIÓN N°23 Cambio De Contraseña…...…………………………………..…………………..…..56 ILUSTRACIÓN N°24 Usuario Adentro De La Aplicación Web……………………………………………..57 ILUSTRACIÓN N°25 En El Menú De La Aplicación Web……………..……………………………………57 ILUSTRACIÓN N°26 Sección Registro De Mascotas..………………………….………………………….58 ILUSTRACIÓN N°27 Ingreso Datos De Mascotas…...……………………………………………………..58 ILUSTRACIÓN N°28 Sección Cita Médica…...……………………………………………………..……….59 ILUSTRACIÓN N°29 Agendar Cita Médica…...……………………………………………………..………59 ILUSTRACIÓN N°30 Sección Cita Médica…...……………………………………………………..……….60 ILUSTRACIÓN N°31 Sección Cita Médica…………………………………………………………………...60 ILUSTRACIÓN N°32 Sección Cita Médica…………………………………….……………………………..61 ILUSTRACIÓN N°33 Sección Chat …...…………………………………………………………..………….61
XIX
ILUSTRACIÓN N°34 Sección Detalle De Chat …...………………………………………………………...62 ILUSTRACIÓN N°35 Sección Atención …...………………………………………………………………...63 ILUSTRACIÓN N°36 Sección Descripción De Cada Atención…………………………………………….63
XX
ABREVIATURAS
ING. Ingeniero
SQL Lenguaje de consulta estructurado
HTML Lenguaje de marca de salida de hyper texto
HTTP Protocolo de transferencia de hyper texto
URL Localizador de fuente uniforme
WWW World wide web
PHP/FI Hipertext preprocessor/forms interpreter
CSS3 Hojas de Estilo en Cascada
INEC Instituto Nacional De Estadísticas y Censos
MVC Modelo Vista Controlador
JSP Páginas de Servidor Java
SQL Lenguaje de Consulta Estructurado
DOM Modelo de objeto de documento
AJAX Acrónimo de Asynchronous JavaScript And XML
W3C World Wide Web Consortium
IP Internet Protocol
DNS Domain Name System
UDLA Universidad De Las Américas
HP Hewlett Packard
IOS Sistema Operativo para dispositivos móviles de Apple
OSX Sistema Operativo de Macintosh
i
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
DESARROLLO DE UN PROTOTIPO DE UNA APLICACIÓN WEB
DESDE DISPOSITIVOS MÓVILES (SMARTPHONES) PARA
REALIZAR LA GESTIÓN DE SERVICIOS
VETERINARIOS
Autora: Evelyn Patricia Castro Flores
C.I.0919556274
Tutor: Ing. Fernando Castro
RESUMEN
El presente proyecto consiste en la creación de un prototipo de una aplicación web el cual facilitará la gestión de los servicios veterinarios y se lo desarrollará en el lenguaje PHP utilizando además Laravel que facilita la lógica de la programación, JQuery y JavaScript se lo utilizará para las funcionalidades dentro del navegador web, Validaciones, etc. Acompañado de HTML5 y CSS3 para visualización de la parte gráfica junto a la base MySQL 5 que será la base de datos para almacenamiento, el diseño de la página externa WordPress necesita además un hosting o alojamiento web que será 1&1y un dominio de internet ya que con el desarrollo de esta aplicación se espera lograr que al agilizar el proceso de los servicios veterinarios cada vez más personas tomen conciencia sobre el cuidado de la salud de sus mascotas y acudan con regularidad a los chequeos veterinarios con esta aplicación web se permitirá agendar una cita médica veterinaria para cada mascota y crear una ficha medica de cada paciente con su correspondiente historial médico actualizado con los datos de cada uno y ciertos síntomas en caso de ser necesario de manera que el veterinario conozca de manera oportuna los síntomas de cada paciente permitiendo así una atención veterinaria óptima. Al finalizar el desarrollo de este prototipo de aplicación web para la veterinaria Mascotas Felices, se puede evidenciar la ventaja que supone tanto para la veterinaria y las mascotas, especialmente para los dueños de las mascotas el contar con herramientas que faciliten la comunicación directamente con su veterinario, logrando una mayor fluidez, es muy importante, mantener un registro de toda la atención realizada a cada una de ellas, en caso de cambiar de veterinario o simplemente para mantener datos más exactos de cada atención. Palabras claves: Creación De Un Prototipo, Aplicación Web, Servicio Veterinario,
Php, Laravel.
ii
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
DEVELOPMENT OF A PROTOTYPE OF A WEB APPLICATION
FROM MOBILE DEVICES (SMARTPHONE) FOR
MANAGE SERVICES VETERINARIANS
Autora: Evelyn Patricia Castro Flores
C.I.0919556274
Tutor: Ing. Fernando Castro
ABSTRACT
This project consists in the creation of a prototype of a Web application which will facilitate the management of veterinary services and develop it in the PHP language using also ravel that facilitates the logic of programming, JQuery and JavaScript It will use it for the functionalities within the Web browser, validations, etc., accompanied by HTML5 and CSS3 to display the graphic part next to the base MySQL 5 that is the database for storage, the design of the external page WordPress needs In addition a hosting or web accommodation that will be 1 & 1y an Internet domain because with the development of this application is expected to achieve that by streamlining the process of veterinary services more and more people become aware of the health care of their pets and AC Udan regularly to the veterinary checkups with this Web application will be allowed to schedule a veterinary medical appointment for each pet and to create a medical file of each patient with his corresponding medical history updated with the data of each one and certain Symptoms if necessary so that the veterinarian knows in a timely manner the symptoms of each patient allowing optimal veterinary care. At the end of the development of this prototype Web application for Veterinary Mascotas Felices, can demonstrate the advantage it brings for veterinaries, pets and their owners, having tools that facilitate communication directly with your veterinarian, achieving a greater fluidity, It is very important to keep a record of all the attention done to each of the patients, in case of changing veterinarians or simply to maintain more accurate data of each care.
Keyswords: Creation Of A Prototype, Web Application, Veterinary Service, Php,
Laravel.
1
INTRODUCCIÓN
El siguiente proyecto trata de evidenciar la necesidad de simplificar la gestión de
atención veterinaria, dado el ritmo de vida actual de las personas y la falta de
tiempo de parte de ellas para llevar a las mascotas a sus chequeos veterinario,
todo esto sumado a la posible pérdida del carnet o elementos de registros
manuales que en las veterinarias se acostumbran llevar para cada paciente
ocasionando con esto un retraso en la atención del mismo.
Hoy en día gran parte de las actividades laborales y de la vida cotidiana están
complementadas con la tecnología móvil, motivo por el cual ha habido un
inminente crecimiento en la adquisición de smartphones en el mercado
ecuatoriano sobre todo en ciudades tan grandes como Quito y Guayaquil.
El capítulo I, de este proyecto se detalla la problemática y su despliegue como es
el planteamiento del problema, los nudos críticos que se presentan, la delimitación
y formulación del mismo, sus respectivas causas y consecuencias, así como los
objetivos planteados y objetivos específicos, la información que conlleva la
justificación del proyecto y su respectivo alcance
El capítulo II, se definen los antecedentes necesarios para elaborar el proyecto,
tanto como la fundamentación teórica necesaria para llevarlo a cabo y resolver la
problemática a tratar, se realiza definiciones conceptuales de gran importancia
referente a información que conlleve a la realización del proyecto haciendo las
debidas citas bibliográficas a los autores de las mismas.
El capítulo III, aquí se especifica la propuesta tecnológica que se tiene sobre el
proyecto, lo que lo conforma que constara en el menú del mismo cada una de las
partes que lo constituyen, así como también las factibilidades que se tienen para
el desarrollo del mismo.
2
En el IV capitulo, se describe los criterios de aceptación del producto donde se
han realizado un informe de pruebas hecho al prototipo del proyecto que se está
realizando.
En esta era moderna en la cual las personas disponen cada vez de menos tiempo
para realizar sus múltiples actividades cotidianas entre ellas el ocuparse de la
salud de sus mascotas para poder brindarles una mejor calidad de vida y gestionar
de una manera más eficiente los diferentes servicios veterinarios que ellas
necesitan puesto que no cuentan con una herramienta necesaria que agilice y
simplifique dicho proceso.
Por lo que con este aplicativo web se ofrece dar solución a la problemática que se
da en cuanto a la falta de atención de la salud de las mascotas en los hogares
ecuatorianos por parte de sus dueños debido que en muchas ocasiones no
cuentan con el tiempo necesario para sacar cita de manera tradicional ya sea
realizando una llamada telefónica a la veterinaria o asistiendo a ella de manera
personal, con lo cual sin una atención medica veterinaria oportuna pueden las
mascotas morir.
3
CAPÍTULO I
EL PROBLEMA
PLANTEAMIENTO DEL PROBLEMA
Ubicación del Problema en un Contexto
La tecnología nos presenta cada vez distintos tipos de ayuda tecnológica que le
facilita la vida a las personas. En la actualidad no se puede decir que no posean
las personas un aparato tecnológico como los smartphones ya que cada vez van
ganando mayor popularidad entre los consumidores/personas y por ende su uso
se hace más frecuente para apoyo dentro de las tareas diarias que ellos realizan,
es por esto que miles de personas los utilizan principalmente para navegar en las
diferentes páginas web, hacer compras, realizar pagos, consultar saldos así
también como buscar diferentes tipos de información entre otros.
Otra de las cosas que en los hogares guayaquileños es muy común encontrar son
las mascotas, las cuales requieren de cuidados periódicos porque ellas forman
parte de nuestra vida. por lo tanto, la creación de una aplicación web que gestione
el proceso de los servicios veterinarios en la Veterinaria Mascotas Felices
mejoraría de manera sustancial la calidad de la atención y servicio prestado hacia
las mascotas y sus dueños en la zona sur de la ciudad de Guayaquil.
Con el desarrollo de esta aplicación se espera lograr que al agilizar el proceso de
los servicios veterinarios cada vez más personas tomen conciencia sobre el
cuidado de la salud de sus mascotas y acudan con regularidad a los chequeos
4
veterinarios promoviendo así la tenencia responsable de mascotas tipificada en la
Constitución.
En esta era moderna en la cual las personas disponen cada vez de menos tiempo
para realizar sus múltiples actividades cotidianas entre ellas el ocuparse de la
salud de sus mascotas para poder brindarles una mejor calidad de vida y gestionar
de una manera más eficiente los diferentes servicios veterinarios que ellas
necesitan puesto que no cuentan con una herramienta necesaria que agilice y
simplifique dicho proceso.
Actualmente la Clínica Veterinaria Mascotas Felices no cuenta con ningún tipo de
registro ni manual ni computarizado que le sirva para hacer un seguimiento de sus
clientes. no guarda los datos de sus pacientes y los dueños de las mismos. ni
puede hacer consultas de cada una de las Atenciones y procedimientos que le
haya administrado a los pacientes, toda esta información el veterinario usualmente
la obtiene al preguntar a cada dueño de mascota en el momento de la consulta
médica en el Centro Veterinario.
Hoy en día gran parte de las actividades laborales y de la vida cotidiana están
complementadas con la tecnología móvil, motivo por el cual ha habido un
inminente crecimiento en la adquisición de smartphones en el mercado
ecuatoriano sobre todo en ciudades tan grandes como lo son Quito y Guayaquil.
Estos datos corresponden al último estudio de tecnologías de la información y
comunicación (TIC) realizado en diciembre del año pasado, para el cual se
encuestó a 31.092 hogares y a personas desde los 5 años y más. Los datos de la
operadora Claro, que tiene el 60,9% de usuarios de telefonía móvil del país,
también dan cuenta de esta tendencia. Según la firma, de las 534.090 unidades
que importaron el año pasado, aproximadamente un 85% correspondió a teléfonos
inteligentes.
Hugo Carrión, director del Centro de Investigación Imaginar, explicó que es una
tendencia en el mundo que no se utilice toda la capacidad de los dispositivos
electrónicos, incluyendo los teléfonos inteligentes. (COMERCIO, 2016)
5
Los usuarios de estos equipos los utilizan más para la navegación por Internet y
comunicación en redes sociales. En los locales de venta de celulares de la Bahía
de Guayaquil se puede adquirir un teléfono inteligente desde USD 70. Lucas
Varela, vendedor de Tecnocell, distribuidora autorizada por Claro, explica que los
‘smartphones’ de gama baja son los que más se venden. (COMERCIO, 2016)
Según el Instituto Nacional de Estadística y Censos (INEC), el uso de los
‘smartphones’ no detiene su crecimiento. En el 2015, 3 084 886 ecuatorianos
declararon tener, al menos, un teléfono inteligente; esto es, seis veces más que lo
reportado en el 2011, cuando la cifra era de 522 640. (Comercio.com, Uso de
smartphones gano mercado, 2017)
Situación Conflicto Nudos Críticos
A medida que pasa el tiempo los seres humanos se ven en una mayor necesidad
de contar con una herramienta que les facilite la realización de los diferentes
procesos habituales inmersos en su vida, el no contar con una aplicación que les
ayuda o facilite el proceso de agendar las consultas o diferentes servicios
veterinarios causa retraso en una consulta oportuna y efectiva, se puede llegar
quizás que la mascota se agrave y pueda llegar a morir por lo cual resulta muy
útil la creación de una aplicación web que les ayude a llevar todo esto a cabo
desde la comodidad de su smartphone.
CUADRO N°1: Causas y Consecuencias del Problema
CAUSAS CONSECUENCIAS
Los dueños de mascotas no
disponen de tiempo para llamar o
agendar las citas veterinarias.
Las mascotas no reciben atención
veterinaria cuando lo necesitan.
Inexistencia de una aplicación web
igual en el mercado guayaquileño
No pueden sacar cita médica sino
sólo asistiendo a la Clínica
Veterinaria
6
Congestionamiento de pacientes en
el local veterinario.
Demora en la atención de la mascota
con riesgo de muerte.
El veterinario no posee una
información previa que le permita
organizarse de mejor manera al
momento de atender a las mascotas.
El veterinario requiere de más tiempo
para reunir la información necesaria
sobre el paciente durante la consulta.
Fuente: Datos de investigación
Elaborado por: Evelyn Castro
Delimitación del Problema
Este proyecto está catalogado en el campo de Desarrollo Local Y Emprendimiento
Socioeconómico Sustentable al área de Desarrollo de Software en el aspecto del
Desarrollo Local Y Emprendimiento Socio Económico Sostenible Y Sustentable
con el tema Desarrollo De Un Prototipo De Una Aplicación Web Desde
Dispositivos Móviles (Smartphones) Para Realizar La Gestión De Servicios
Veterinarios utilizando PHP y Laravel.
Formulación del Problema
¿Beneficiará a los usuarios la gestión de los servicios veterinarios con la creación
de la aplicación web para dispositivos móviles smartphones?
Por todo lo antes expuesto, se entiende que el tiempo siempre jugara un papel
importante a la hora de realizar las tareas diarias de las personas puesto que de
él dependerá que se consiga o no llevar a cabo todo lo que se ha propuesto
terminar en el transcurso del día cada usuario , es por esto que la creación de una
aplicación web que ayude a gestionar los servicios veterinarios para las mascotas
en el menor tiempo posible desde su smartphone resulte ideal ya que con esto
podrá realizarlo desde cualquier lugar que se encuentre y sin dejar de lado sus
otras actividades cotidianas.
7
Evaluación del Problema
Los aspectos generales de evaluación son:
Delimitado
Está delimitado porque esta solución se plantea para la veterinaria Mascotas
Felices, ubicada en la ciudadela Las Acacias en la zona sur de la ciudad de
Guayaquil.
Claro
Este proyecto está escrito de manera precisa y concreta proponiendo una solución
a una problemática real, la cual se espera resolver con la creación de esta
aplicación web.
Evidente
Resulta evidente porque tiene manifestaciones claras y observables, puesto que
según lo manifestado por el veterinario muchos dueños de mascotas le
mencionaron que dejaron de asistir a sus consultas veterinarias porque no
cuentan con tiempo para sacar una cita médica en persona y en otras ocasiones
que lo llamaron al teléfono no han contestado.
Concreto
Los dueños de mascotas tienen cada vez menos tiempo para llevar a sus
mascotas a sus chequeos veterinarios por lo cual este aplicativo web va a ser de
mucha ayuda.
Relevante
En la gran mayoría de los hogares guayaquileños resulta cada vez más común
contar con mascotas, las cuales forman parte del hogar y cuidar de su salud es
importante.
Original
Es algo muy novedoso no existe en el país una aplicación web igual. Si existen en
el mercado guayaquileño páginas webs que pertenecen a las distintas veterinarias
8
que existen al sur de la ciudad de Guayaquil, pero ninguna de ellas tiene el servicio
que ofrece la aplicación web que se propone en este trabajo.
Factible
Es factible puesto que se puede desarrollar para cualquier veterinaria e
implementarlo en caso de requerirlo porque presenta una solución entre el dueño
de la mascota y el médico veterinario, ya que este proyecto no resulta tan costoso.
Identifica los productos esperados: Será útil, ya que contribuye con soluciones
alternativas en beneficio de la Clínica Veterinaria y el bienestar de nuestros
compañeros del hogar.
Variables: Se encuentran dos variables:
La independiente que es el prototipo de una aplicación web.
La dependiente que es la gestión de servicios veterinarios desde smartphones.
OBJETIVOS DE LA INVESTIGACIÓN
Objetivo General
Desarrollar un prototipo de una aplicación web para dispositivos móviles
(smartphones) con el cual se puede realizar la gestión de los servicios veterinarios
para la veterinaria Mascotas Felices de la ciudad de Guayaquil.
Objetivos Específicos
➢ Recopilar y clasificar la información necesaria para el desarrollo de la
aplicación web que funcionará en dispositivos móviles (smartphones).
➢ Desarrollar un aplicativo web con los principales servicios veterinarios
utilizados desde dispositivos móviles (smartphones).
➢ Generar reportes con los registros de clientes de cada uno de los casos
tratados en la veterinaria.
9
➢ Realizar una prueba preliminar del aplicativo web desde el dispositivo móvil
smartphone.
ALCANCES DEL PROBLEMA
Esta aplicación web será diseñada con la página principal de la Clínica Veterinaria
Mascotas Felices, la cual contiene un menú con las siguientes opciones:
➢ En la sección principal o portada de la página web se visualizará la
información general de la Veterinaria y así también una lista de los diferentes
servicios veterinarios que ofrece la Clinica veterinaria.
➢ En la sección de registro de mascotas se ingresará la información de las
mascotas que tenga cada usuario.
➢ En la sección de citas se podrá agendar y visualizar la cita veterinaria de la
mascota.
➢ En el área de historial contará con todas las citas médicas veterinarias y cada
uno de los servicios veterinarios que la mascota haya recibido.
➢ En la sección Mi usuario servirá para que cada dueño de mascota pueda
visualizar su cuenta previamente creada y actualizar o modificar su
información.
➢ En la opción de mensajería el dueño de mascota podrá intercambiar mensajes
con el veterinario tratante de su mascota en caso de que lo requiera.
Básicamente la aplicación web requiere que el usuario se registre mediante el
ingreso de su nombre, correo electrónico y una contraseña, luego de esto le
llegará al correo electrónico un email desde la aplicación web con un link de
confirmación.
Al dar clic sobe el link lo redirige a la aplicación web confirmando así la creación
de la nueva cuenta de usuario y le avisará que ya puede hacer uso de la misma
tipeando la cuenta de correo y contraseña que inicialmente ingreso, además
contará también con la opción de recuperar la contraseña en caso de que el
usuario la haya olvidado.
10
Una vez que el usuario se encuentra dentro de la aplicación web puede visualizar
o modificar su información, ingresar la información de sus mascotas, así como
también puede ver el historial de los procedimientos veterinarios que la mascota
haya recibido.
JUSTIFICACIÓN E IMPORTANCIA
En la actualidad el manejo de la atención médica para las mascotas se hace
únicamente mediante visitas directamente al veterinario o se realizan llamadas
para sacar la cita además de esto no cuentan con una ficha medica ni el historial
de las mascotas, solo cuenta con una hoja de control de vacunas y a los dueños
de mascotas se les suele extraviar, con lo cual complica el poder revisar la
información del paciente al momento de una atención médica.
Mediante esta aplicación web se permitirá agendar una cita médica veterinaria
para cada mascota y crear una ficha medica de cada paciente con su
correspondiente historial médico actualizado con los datos de cada uno y ciertos
síntomas en caso de ser necesario de manera que el veterinario conozca de
manera oportuna los síntomas de cada paciente permitiendo así una
comunicación más fluida entre el dueño de cada mascota y el médico tratante
dando como resultado una atención veterinaria óptima.
También le servirá al Veterinario dueño de la Clínica para obtener un listado con
los registros de todas las consultas veterinarias de sus pacientes por fechas, para
ayudarle en caso de que desee realizar algún tipo de consulta o promoción para
los pacientes más cumplidos y fieles a su Clínica.
Es importante mantener una salud óptima en las mascotas puesto que conviven ya
dentro de los hogares siendo un miembro más de la familia y si ellos se encuentran
enfermos pueden llegar a ser portadores de enfermedades que podrían afectar la
salud de las personas.
11
Innumerables investigaciones han concluido que la presencia de las mascotas
dentro de la vida familiar generan grandes cambios positivos en la salud y bienestar
de los humanos, razón por lo cual el mantener a las mascotas y preocuparse por su
salud, manteniéndolos con sus chequeos veterinarios al día ha pasado a ser una
más de las preocupaciones de los dueños de mascotas que practican una tenencia
responsable, pero en muchas ocasiones la falta de tiempo hace que no alcance a
llevarlos a una consulta veterinaria oportuna
METODOLOGÍA DEL PROYECTO
Basándome en la metodología PMBOK donde me indica que en la realización de
un proyecto debo considerar las habilidades, herramientas, técnicas y
conocimiento de las actividades del prototipo a realizar para cumplir con cada uno
de los requerimientos mediante los cinco grupos de procesos. (Project
Management Institute, Inc, 2013)
Grupos de Procesos
Los cinco Grupos de Procesos básicos del PMBOK son:
ILUSTRACIÓN N°1:
Modelo Básico de procesos del PMBOK
Elaborado por: Evelyn Castro Flores
Fuente: Proyect Management Institute
• Iniciación. Definición exacta de en qué consiste el desarrollo del proyecto o una
fase del mismo.
12
• Planificación. Define todos los objetivos, y el alcance del proyecto.
• Ejecución. Integra a personas y otros recursos de ser necesario para llevar a
cabo el plan de gestión del proyecto.
• Seguimiento y Control. Dar seguimiento, analizar y regular el progreso y el
desempeño del proyecto, para identificar áreas en las que el plan requiera
cambios y para iniciar los cambios correspondientes.
• Cierre. Formaliza la aceptación del producto, servicio o resultado, y termina
ordenadamente el proyecto o una fase del mismo.
13
CAPÍTULO II
MARCO TEÓRICO
ANTECEDENTES DEL ESTUDIO
Se efectuó el análisis respectivo del presente proyecto y las correspondientes
conclusiones en las que se llegó a determinar que actualmente no existe proyecto
alguno tanto de investigación o implementación que coincida con el título del tema
expuesto de, Desarrollo De Un Prototipo De Una Aplicación Web Desde
Dispositivos Móviles (Smartphones) Para Realizar La Gestión De Servicios
Veterinarios.
Esta revisión tuvo como fuente de consulta a la biblioteca de la Universidad de
Guayaquil en la cual no se encuentra registrado algún proyecto de
implementación, diseño e investigación con el título del tema mencionado, ni en
ningún otro establecimiento de estudio de nivel superior en localidad de la ciudad
Guayaquil.
El presente proyecto se elabora y desarrolla para mejorar la gestión de los
servicios en una veterinaria ubicada al sur de la ciudad de Guayaquil con esto se
beneficiaría al dueño de la mascota y al veterinario.
Según datos del Instituto Ecuatoriano de Estadística y Censos (INEC), “existen
128 locales que prestan servicios veterinarios en la zona sur del mercado
guayaquileño. que generan un movimiento económico anual que supera los USD
2,3 millones”, con lo cual se evidencia que el cuidado de las mascotas paso a ser
una necesidad dentro del cotidiano vivir de las personas puesto que ellas también
forman parte de la familia. (Lideres, 2013)
14
La enorme variedad de servicios y cuidados ofrecidos para nuestras mascotas son
la evidencia de que el lugar que ocupan en nuestras vidas creció y se solidificó en
las últimas décadas. Alimentación balanceada, atención médica cada vez más
especializada (con alternativas como homeopatía o tratamientos holísticos),
guarderías y hasta psicólogos demuestran que los cuidados actuales para ellas —
particularmente hacia perros y gatos— no se resuelven con una vacuna o un
hueso. (Cabal Coop, 2017).
Hace algunos años atrás no se hablaba de la salud de las mascotas ni se los tenía
como un miembro más de la familia esa forma de pensar ha ido cambiando para
hoy en día mejorar el trato hacia los animales y lograr su bienestar, pero aún falta
concientizar a los dueños de mascotas puesto que en los distintos sectores de la
ciudad, se puede observar que muchas mascotas deambulan por las calles sin
siquiera haber tenido a lo largo de su vida una vacuna o al menos una revisión
médica, esto situación se da algunas veces por desconocimiento de parte de los
propietarios de las mascotas que no saben todos los cuidados mínimos que las
mascotas requieren. (Tiempo, 2017)
Durante mucho tiempo se ha pensado que cuidar a las mascotas que comparten
el hogar, es darles de comer y tenerlos en la casa o aislados viviendo en el patio
o terraza de las casas, pero con el pasar del tiempo se ha ido creando conciencia
y se va cambiando esta forma de pensar logrando así que los consentidos del
hogar sean vistos como un miembro más de la familia y así tengan un papel más
relevante y obtengan la atención y cuidados que ellos merecen.
FUNDAMENTACIÓN TEÓRICA
El presente proyecto será desarrollado en un framework denominado Laravel.
¿Cómo definimos a Laravel? Sencillo como un entorno de trabajo de código
abierto o también llamado software libre sobre el cual se puede desarrollar
aplicaciones y servicios web con PHP, cuya ideologia se basa en desarrollar
código PHP de manera sencilla y atractiva.
15
ILUSTRACIÓN N°2:
Logo Laravel
Elaborado por: Laravel
Fuente: Laravel
Laravel
Laravel se define como un framework de trabajo para el lenguaje PHP, el cual
actualmente cuenta con una gran base de usuarios. Utiliza una base de librerías
de Symfony, por lo cual toma muchas de las funcionalidades del framework
Symfony.
Además de esto utiliza Blade para el manejo de los templates, el cual tiene una
gran facilidad de manejo, permitiendo utilizar código PHP, a más de manejar el
concepto de herencia en las vistas, lo cual facilita la separación y reutilización del
código de la interfaz.
Cuenta con Validaciones de formularios propios. Además, incluye manejo de
sesiones y autenticaciones propios del framework lo que permite ahorrar líneas de
código, reutilizando las funcionalidades integradas.
Este entorno de trabajo fue creado en el año 2011 y tiene influencias de otros
frameworks tales como Ruby on Rails, Sinatra y ASP.NET MVC. Posee routers,
layouts, controllers, views, models, etc, facilitando así el manejo de sesiones,
conexiones a base de datos y maquetación.
Laravel plantea una disposición de carpetas con las que se puede organizar el
código de las aplicaciones o sitio web haciendo de esta forma más fácil la edición
16
o corrección del código cuando sea necesario. Laravel se encuentra en su última
versión que es la 5.1
CUADRO N°2: TABLA COMPARATIVA ENTRE LENGUAJES DE
PROGRAMACIÓN
LENGUAJE CARACTERÍSTICAS FORTALEZAS DEBILIDADES
PHP
Se lo emplea para
gestar páginas webs
dinámicas
Se verifica en el
servidor
El cliente no puede
observar el código
PHP solo será visible
en su aplicación web
el código HTML
La sintaxis es muy
semejante a la de
otros estilos de
programación
Se ha convertido en
un lenguaje muy
conocido tiene una
comunidad grande
Rápido
Multiplataforma
Libre y gratuito
Flexible
Requiere de un
servidor para
trabajar
La programación
orientada a objetos
no es tan eficiente
para grandes
aplicaciones
Todo se realiza en el
servidor por lo que
muchas solicitudes
pueden resultar
ineficientes.
Python
Posibilita la creación
de todo tipo de
sistemas
No necesita ser
compilado
Posee código fuente
abierto
Es libre
Está orientado a
objetos
Multiplataforma
Son parcialmente
lentos los lenguajes
interpretados
JAVA
Es multiplataforma
Es un lenguaje
orientado a objetos
Permite la
modularizacion
Posibilita la creación
de aplicaciones de
escritorio
Exige declaraciones
explicitas, deben
especificarse las
entradas y salidas.
Necesita ser
compilado.
JSP Es un lenguaje
orientado a objetos
La parte dinámica
está escrita en java
Su aprendizaje
resulta más
complejo
17
(Java
Server
Pages)
Motor basado en
servlets de java
Integridad con
módulos java
Fuente: (Rosado, 2015)
Elaborado por: Evelyn Castro
En esta tabla encontramos un listado de las características, fortalezas y
debilidades de PHP frente a otros lenguajes .NET tanto libre como software
pagado con lo cual podemos observar las ventajas que representa desarrollar el
trabajo en PHP.
ILUSTRACIÓN N°3: Logo PHP
Elaborado por: PHP
Fuente: MyPhp
PHP 7
Se utilizará el lenguaje de programación PHP en su versión 7.0 como intérprete
del código, esta versión fue lanzada al mercado el 3 de diciembre del 2015. Ahora
se puede decir que PHP 7 es hasta dos veces más rápido que PHP 5.6. Pero
además ha reducido de manera sustancial la cantidad de memoria que necesita
para funcionar más eficientemente. (Alvarez & Ruiz Ruso, 2015)
PHP ha evolucionado, nos presenta una cantidad de herramientas útiles
disponibles en otros lenguajes de programación para facilitar la vida de los
desarrolladores. Hace uso explícito de tipos de datos, aserts, mejor gestión de las
excepciones, clases anónimas, etc. Pasando por eliminar también diversas API y
extensiones que venían siendo obsoletas.
Se escogió utilizar PHP dado su gran compatibilidad y la facilidad para encontrar
un hosting de bajo precio que soporte el lenguaje. Además de su facilidad de
integración con la base de datos MySQL la cual es soportada por la mayor parte
de los hostings.
18
PHP es un lenguaje muy fácil de aprender, con lo cual resulta fácil para los
desarrolladores familiarizarse con la sintaxis del mismo. Es un lenguaje
multiplataforma Linux, Windows, etc.
Posee una gran capacidad de conexión con la mayoría de manejadores de base
de datos: MySQL, PostgreSQL Oracle, entre otros.
ILUSTRACIÓN N°4: Logo MySQL
Elaborado por: MySql
Fuente: MySQL
MySQL
Para este proyecto se utilizará como base de datos MySQL para almacenamiento.
MySQL es una base de datos gratuita y de gran rendimiento, que cuenta con una
integración nativa con PHP, lo cual lo hace la elección ideal para integrarlo con
aplicaciones web basadas en PHP.
Tiene la ventaja sobre bases de datos como Oracle o Microsoft Sql Server por ser
gratuito, y además contar con un buen rendimiento cuando el flujo de la
información no tiene un número de transacciones muy grande como es el caso de
esta aplicación.
No es requerida una definición de tipos de variables y manejo de bajo nivel. Es un
lenguaje de script interpretado en el lado del servidor, se lo emplea para la
generación de páginas web dinámicas, embebidas en código HTML y ejecutadas
en un servidor. Este lenguaje soporta en cierta medida la orientación a objetos,
también la herencia y clases.
CUADRO N°3: TABLA COMPARATIVA ENTRE BASES DE DATOS
19
LENGUAJE CARACTERÍSTICAS FORTALEZAS DEBILIDADES
MySQL
Es una base de datos
relacional, multihilo y
multiusuario.
Proporciona sistemas
de almacenamiento
transaccionales y no
transaccionales.
Fue promulgada bajo
licencia GLP.
Es Open Source.
Facilidad de
configuración e
instalación.
Conectividad.
Seguridad.
Escalabilidad.
Localización.
Clientes y
herramientas.
No es intuitivo.
MySQL tiene una
gran parte de sus
beneficios sin
documentar.
PostgreSQL
Un sistema de base
relacional orientada a
objetos.
Es de código libre
Anteriormente se
llamaba Postgre ahora
se la conoce como
PostgreSQL
Fue promulgada bajo
licencia BSD.
Es gratuito
Tiene mejor soporte
que las bases
comerciales
Tiene mayor
seguridad
Es multiplataforma
Velocidad de
respuesta
relativamente
lenta.
Poco utilizado.
No soporta
consultas en
paralelo.
Oracle
Es un software de
licencia comercial
Tuvo el dominio total
del mercado hace
algunos años, en la
actualidad ya no por el
aumento de la
competitividad.
Para poder trabajar
bajo GNL/LINUX las
últimas versiones de
Es el más utilizado
a nivel mundial
Permite particiones
Tiene 1 solo
lenguaje procedural
Es escalable
Estable
Multiplataforma
Tiene un precio
elevado
Solo es una base
de datos
relacional.
Las versiones
más recientes
contienen
errores.
Permite su uso
solo como
procedimientos.
20
Oracle debieron ser
certificadas.
No es posible
desarrollar tipos
de datos propias.
SQLServer
Se debe pagar licencia
para su utilización.
Compatibilidad ACID.
Es transaccional.
Genera reportes.
Funciones definidas
por el usuario.
Replicación
Solo para
Windows.
No es open
source.
Fuente: (Gualotuña, 2013)
Elaborado por: Evelyn Castro
La ideología de código abierto va ganando cada vez más terreno y las
herramientas y sistemas que se desarrollan han entrado a las empresas gracias a
esta característica en cuanto a abaratar costos en las empresas ya que no se
necesita comprar licencias para hacer uso de ellas.
Esto representa una clara ventaja competitiva frente al software de código cerrado
es decir al que requiere de licencias para su utilización con lo cual abarata costos
a la hora de desarrollar porque no es necesario incurrir en ese gasto.
ILUSTRACIÓN N°5: Logo JQuery
Elaborado por: JQuery,write less do more
Fuente: JQuery
jQuery
Se utiliza Jquery para tener un código más limpio de cara al código javascript
interpretado por el navegador, este nos permite manejar de forma sencilla el
acceder y manipular contenido de las etiquetas HTML de manera muy sencilla,
con código muy fácil de leer, lo cual facilita tanto el desarrollo como el
mantenimiento del código para mejoras a realizar sobre la aplicación.
21
Es un software libre, una biblioteca multiplataforma de JavaScript, cuya
característica principal es modificar una página web sin recargarla, mediante el
uso del árbol DOM y peticiones AJAX.
Puede ser utilizado en proyectos libres y privados, posee doble licenciamiento
Licencia MIT y Licencia Publica General GNU v2. Soporta extensiones,
animaciones y efectos. Permite el uso de la hoja de estilos CSS.Opera con objetos
y vectores, funciones para rutinas comunes, etc. Para este proyecto se trabajará
con JQUERY versión 2.1.3 (Duckett, 2013)
ILUSTRACIÓN N°6: Logo Javascript
Elaborado por: JS Javascript
Fuente: javascript
JAVASCRIPT
Javascript es utilizado en las aplicaciones web, para dar funcionalidades a la
aplicación del lado del cliente, todo manejado por el navegador.
Este código es interpretado por el navegador en tiempo real, por lo cual no
consume recursos del servidor haciendo las operaciones más agiles y reduciendo
la carga de trabajo asignada al servidor de aplicación PHP.
Es un lenguaje de programación orientado a objetos, está basado en prototipos,
imperativo, débilmente tipado y dinámico. Su sintaxis es muy similar al lenguaje C
aunque acepta nombres y convenciones del lenguaje Java. La última versión de
este lenguaje es ECMAScript 2016.
22
Inicialmente se lo utilizaba para páginas web HTML solo del lado del cliente, pero
en la actualidad se lo emplea para enviar y recibir información del servidor junto a
otras tecnologías como AJAX.
Se lo emplea en aplicaciones externas a la web como documentos PDF,
aplicaciones de escritorio como widgets. Es soportado por la gran mayoría de
navegadores web como Mozilla Firefox, Internet Explorer, Netscape, Opera, entre
otros.
JavaScript se interpreta en el agente de usuario al mismo tiempo que las
sentencias van descargándose junto con el código HTML. JavaScript y JQuery se
los empleará en el desarrollo de la aplicación web para realizar las funcionalidades
dentro del navegador web, Validaciones, etc , ellos trabajarán de la mano de
HTML5 y CSS3 para la visualización de la parte gráfica de la aplicación. (Duckett,
2013)
ILUSTRACIÓN N°7: Logo HTML5
Elaborado por: Standards Html5
Fuente: w3
HTML
HTML por sus siglas en ingles Hyper Text Markup Language es un lenguaje de
marcas de hipertexto que se utiliza en la elaboración de páginas web, es el
estándar usado como referencia del software que se conecta en la creación de
páginas web en todas sus versiones, determina una estructura básica.
El lenguaje HTML es utilizado para maquetar el diseño de las páginas web, este
es utilizado en todas las páginas y Aplicaciones web, en nuestro caso no es
23
excepción, y utilizamos HTML 5, el cual cuenta con varias funcionalidades como
Validaciones de formatos en cajas de texto para emails, fechas, etc.
A medida que ha ido mejorando las versiones de HTML se le han ido
implementado o suprimiendo características de manera que sea más eficiente
para facilitar que sea compatible con distintos navegadores y plataformas ya sean
portátiles, smartphones, tablets, computadores de escritorio, etc. para la definición
de contenido de una página web, como texto, imágenes, videos, juegos, entre
otros. (Curso de Html, 2017)
ILUSTRACIÓN N°8: Logo CSS3
Elaborado por: Guía Breve de CSS - W3C
Fuente: w3c
CSS3
Es la última versión de CSS que existe hasta el momento. Es un lenguaje de hoja
de estilos empleado para dar un aspecto visual a una página web, es decir darle
color, forma, posición y otras características a la aplicación web.
Utiliza el concepto de separación de presentación y contenido, procurando que los
documentos HTML solo incluyan información y datos, concerniente al significado
de la información a transmitir y todos los aspectos referentes al estilo se
encuentren en un solo documento CSS independiente.
Ventajas de utilizar CSS
Según explica José Roman-profesor en la Oficina de Software Libre de la
Universidad de La Laguna, en Tenerife (Islas Canarias)., son múltiples las ventajas
a la hora de utilizar CSS al momento de diseñar una aplicación web ya que:
24
“Si necesitamos hacer modificaciones de presentación lo hacemos en un
sólo lugar y no tenemos que editar todos los documentos HTML por separado”.
(Roman, 2014)
Logrando así disminuir la repetición de estilos en diferentes lugares, por lo que la
información a transmitir es notablemente menor, por lo cual las páginas se
descargan más rápido. (Roman, 2014)
Ofrece una mayor facilidad a la hora de crear diferentes versiones de presentación
para otras clases de dispositivos como: tablets, smartphones o dispositivos
móviles, etc.” (Roman, 2014)
ILUSTRACIÓN N°9: Logo WordPress
Elaborado por: Wordpress
Fuente: WordPress
WordPress
Es un sistema para gestión de contenidos. WordPress, en principio, es un sistema
de publicación web basado en entradas ordenadas por fecha; las entradas
corresponden a una o más categorías o taxonomías. Además, posee un
administrador de páginas estáticas no cronológicas.
La estructura y diseño visual del sitio depende de un sistema de plantillas
independiente del contenido, que pueden tener varias opciones de
personalización dependiendo de su autor.
Bloques con funciones específicas por medio de complementos cuya publicación
se realiza por medio de widgets. La filosofía de WordPress apuesta decididamente
25
por la elegancia, la sencillez y las recomendaciones del W3C pero depende
siempre de la plantilla a usar.
TwentyTen, por ejemplo, es una plantilla predeterminada y que es válida como
(X)HTML Tradicional y CSS. Separa el contenido y el diseño en XHTML y CSS;
aunque, como se ha dicho, depende de la plantilla que se esté usando. No
obstante, el código que se intenta generar en las entradas apuesta por esta
característica forzando (si así se elige) un marcado correcto. La gestión y
ejecución corre a cargo del sistema de administración con los complementos y
widgets que usan las plantillas.
WordPress es el manejador de contenidos de páginas web más utilizado en el
mundo, está basado en PHP lo cual lo hace compatible con la mayor parte de
hostings.
Cuenta con un gran número de templates y un sinnúmero de plug-ins que pueden
dar una facilidad para darle funcionalidades y diseños agradables y funcionales al
usuario, sin necesidad de que el administrador del sitio realice un gran esfuerzo.
Mantiene actualizaciones continuas que mejoran la seguridad del sitio, tanto en el
core de WordPress, así como en sus templates y en sus plug-ins.
Es una analogía de "domicilio o apartamento en hoteles o habitaciones" donde
uno ocupa un lugar específico, en este caso la analogía alojamiento web o
alojamiento de páginas web, se refiere al sitio o espacio que habita una página
web, sitio web, sistema, correo electrónico, archivos etc. en internet o más
específicamente en un servidor que por lo general aloja varias aplicaciones o
páginas web.
Las empresas que proveen espacio de un servidor a sus usuarios se suelen
designar con el término en inglés web host. El hospedaje web aunque no es
necesariamente un servicio, se ha convertido en un fructífero negocio para las
empresas de Internet alrededor del mundo.
26
Se puede definir como "un sitio para tu página web o correos electrónicos", aunque
esta definición simplifica de manera conceptual el hecho de que el alojamiento
web es en realidad espacio en Internet para prácticamente cualquier tipo de
información, sea archivos, sistemas, correos electrónicos, videos, etc.
ILUSTRACIÓN N°10: Logo 1&1
Elaborado por:1&1Web Hosting
Fuente:1&1
1&1 Hosting
Es uno de los sitios web de hosting más grandes del mundo, cuenta con paquetes
de hosting muy económicos y con muy buen rendimiento, cuenta con una interfaz
de administración del sitio el cual nos permite manipular de forma sencilla los
dominios, solicitar nuevos, administrar los existentes, indicar con mucha facilidad
la ruta destino de cada uno de estos dominios, así como el manejo de
subdominios.
Para el manejo de base de datos cuenta con PHP My Admin, además de una
interfaz propia para poder crear y manipular nuevas bases de datos que se
requieran crear.
En el manejo de aplicaciones, cuenta con instalaciones automáticas de versiones
de WordPress las cuales están optimizadas para funcionar en sus servidores.
En manejo de seguridades, da la facilidad para poder crear nuevos usuarios de
acceso ssh, actualizar contraseñas y escoger puertos de acceso para dar aún más
seguridad.
27
Cuenta con un foro de discusión con una gran base de usuarios que está dispuesta
a ayudar en solucionar diversos problemas con son recurrentes en el manejo de
sitios dentro de este dominio, y adicionalmente cuenta con un soporte técnico que
ayudara en última instancia para solucionar problemas específicos que puedan
presentarse.
Dominio
Extensión o dominio de Internet es un nombre único que identifica a un sitio web
en Internet. El propósito principal de los nombres de dominio en Internet y del
sistema de nombres de dominio (DNS), es que pueda traducir las direcciones IP
de cada nodo activo en la red, a términos memorables y fáciles de localizar.
Esta conceptualización hace viable que cualquier servicio (de red) pueda moverse
de un lugar geográfico a otro en la Internet, aun cuando el cambio implique que
tendrá una dirección IP diferente.
Sin la ayuda del sistema de nombres de dominio, los usuarios de Internet tendrían
que acceder a cada servicio web utilizando la dirección IP del nodo (por ejemplo,
sería necesario utilizar http://172.217.10.110/ en vez de http://google.com).
Además, reduciría el número de webs posibles, ya que actualmente es habitual
que una misma dirección IP sea compartida por varios dominios.
La importancia de cuidar la salud de las mascotas
¿Podrían las mascotas llegar a transmitir enfermedades a las personas que no
llevan un correcto control veterinario?
Según la especialista, Graciela Estrada, docente de la UDLA, los perros pueden
transmitir a los humanos rabia, leptospirosis, toxocariosis y otras enfermedades
parasitarias. “También son una especie de vectores de otros males como la
tuberculosis.
28
Pero no todas las mascotas asisten a consulta veterinaria de manera oportuna,
para recibir sus vacunas, desparasitaciones y revisión médica veterinaria de modo
que se garantice que el animal se encuentra en perfecto estado de salud y no
representa ningún riesgo ni contagio para la familia o para otro animal de su misma
especie.
Más de lo que quizás se piense, las mascotas pueden transmitir enfermedades a
los seres humanos. Y con frecuencia, las personas y los animales se pueden
infectar de la misma fuente.
Enfermedades que pueden afectar a las personas y a diferentes mascotas
A continuación, se nombrarán algunos de los males -y sus riesgos- que las
personas pueden compartir con cinco especies diferentes de mascotas.
En gatos:
La infección más común de estos felinos es la enfermedad conocida como arañazo
de gato, que se produce por una bacteria llamada Bartonella henselae. La gran
mayoría de las personas se infectan después de que son arañadas, lamidas o
mordidas por un gato que tiene esta bacteria y la zona donde ocurrió se enrojece.
Produce fatiga y no se transmite entre humanos. El arañazo de gato produce
erupciones, inflamación de los ganglios linfáticos, fatiga, dolor de cabeza, pérdida
del apetito y malestar general.
Los gatos también son portadores del parásito Toxoplasma gondii, responsable
de la toxoplasmosis. Los perros, ovejas y ganado además pueden tener este
parásito que se halla comúnmente en las heces del animal.
Saber con exactitud si un gato se encuentra infectado es muy difícil porque no
suele mostrar síntomas, pero si el parásito está en el ambiente o en la cadena
alimenticia, se corre el riesgo de ser ingerido por los humanos.
Muchos se preguntarán como puede ser posible que el humano logra ingerir heces
de un animal infectado con este parásito y contagiarse, pero esto sucede cuando
29
no se cocinan bien las carnes o alimentos o no se las lava adecuadamente antes
de ser consumidos, y estos se encuentran ya contaminadas con el parásito.
Las mujeres embarazadas son las que corre un mayor peligro porque son quienes
le pueden pasar la infección al feto, que puede desarrollar daños en el cerebro y
ceguera. Es posible que las personas con toxoplasmosis no noten los síntomas o
que tengan unos muy parecidos a la gripe o a la mononucleosis infecciosa
(también conocida como fiebre dura).
En perros:
Las garrapatas pueden causar la enfermedad de Lyme tanto en seres humanos
como en perros, pero es más factible que una garrapata pase de persona a perro
que de este animal a un humano.
Uno de los síntomas más común que se presentan es una erupción roja alrededor
de la mordida del insecto. Esto es seguido por síntomas semejantes a la gripe;
pero si no se la trata a tiempo, la enfermedad de Lyme puede causar inflamación
en las articulaciones y ocasionar problemas neurológicos. Las garrapatas que
provocan esta afección suelen habitar en regiones frondosas y templadas donde
los perros pueden pasear con sus propietarios.
La rabia es una grave afección que se puede transmitir por la saliva de la mordida
de un animal infectado, en este caso el perro. Entre los síntomas que puede
presentar el paciente que posee esta enfermedad están fiebre alta y un
comportamiento agresivo, pero también se puede extender al cerebro y sistema
nervioso, lo que tendría un desenlace fatal.
Si bien esta enfermedad está presente en 150 países, es en el sur y sureste
asiático donde se produce más del 95% de las muertes de seres humanos por
rabia, 55.000 al año.
En reptiles:
30
Los reptiles pueden ser motivo de una forma rara de salmonella, correspondiente
a la familia de bacterias Enterobacteriaceae. Esta causa erupción en el pecho y
espalda, dolor abdominal, dolor de cabeza, fiebre y diarrea.
Esto se debe a que los reptiles, en especial las culebras, llevan la infección en la
piel y las heces. Los más vulnerables a desarrollar una forma grave de la
enfermedad son los bebés y los niños.
El departamento de Salud Pública de Reino Unido recomienda lavarse muy bien
las manos después de manipularlas y no besar a este tipo de mascotas para
prevenir que los reptiles pasen la infección a seres humanos.
En roedores:
Los roedores más comunes que se usan como mascotas son hámsteres, ratones,
ratas, diponidos, conejillo de indias o cobayo, cuniculus o pacas y chinchillas.
Todos los roedores, ya sean mascotas o animales silvestres, pueden ser
portadores de bacterias y virus que causan infecciones en seres humanos.
Una enfermedad potencialmente fatal, que causa desde una gripe moderada
hasta afecciones respiratorias graves o enfermedad en el riñón puede ser el
hantavirus.
Otras infecciones que los roedores pueden pasar a los humanos son un tipo poco
común de meningitis causada por un virus llamado coriomeningitis linfocítica,
también la leptospirosis y la fiebre de mordida de rata.
Si bien se tratan de afecciones poco comunes, estas infecciones pueden producir
consecuencias graves en los seres humanos y si no son detectadas y tratados a
tiempo pueden llegar a causar la muerte.
En aves:
Una plaga bacteriana que afecta a los pájaros, principalmente a los loros es la
psitacosis. También afecta a otras especies como el perico australiano, cacatúa
ninfa, guacamayas, patos, gaviotas, gorriones y gallinas.
31
Es una enfermedad que se transmite por el aire y que puede pasar a las personas
que tienen o que trabajan con estas aves. Los síntomas que puede presentar son:
infección en los ojos, diarrea, fiebre y puntos rojos en el cuerpo.
FUNDAMENTACIÓN LEGAL
Para la fundamentación legal se utilizó la jerarquía constitucional:
La Constitución de la Republica
Las leyes Orgánicas
Las leyes normales (Ley de Propiedad Intelectual, Ordenanza Municipal, etc.)
Los Acuerdos (ONU, Unicef, etc.)
CONSTITUCIÓN DEL ECUADOR
Sección octava
Ciencia, tecnología, innovación y saberes ancestrales
Art. 385.- El sistema nacional de ciencia, tecnología, innovación y saberes
ancestrales,
en el marco del respeto al ambiente, la naturaleza, la vida, las culturas y la
soberanía, tendrá como finalidad:
1. Generar, adaptar y difundir conocimientos científicos y tecnológicos.
3. Desarrollar tecnologías e innovaciones que impulsen la producción nacional,
eleven la eficiencia y productividad, mejoren la calidad de vida y contribuyan a la
realización del buen vivir.
Sección séptima
Biosfera, ecología urbana y energías alternativas
Art. 415.- El Estado central y los gobiernos autónomos descentralizados
adoptarán políticas integrales y participativas de ordenamiento territorial urbano y
de uso del suelo, que permitan regular el crecimiento urbano, el manejo de la fauna
urbana e incentiven el establecimiento de zonas verdes.
CÓDIGO ORGANICO INTEGRAL PENAL DEL ECUADOR
Título I Medidas De Protección De Animales Domésticos
Capítulo I Objeto, Ámbito De Aplicación Y Sujetos
32
Art. 1.- Objeto.- La presente ordenanza tiene por objeto establecer normas en el
Gobierno Autónomo Descentralizado Municipal de Guayaquil para el manejo de la
fauna urbana y la protección de los animales domésticos, garantizando su
bienestar animal y brindándoles atención especializada en apego a los derechos
de la naturaleza; salvaguardar la salud y seguridad pública que se pudiera ver
afectada como resultado de una inadecuada tenencia y/o relación con estos
animales; y prevenir formas de violencia interrelacionada.
Art. 2.- Sujetos. - Están sujetos a la normativa prevista en este Título, las
personas naturales o jurídicas, nacionales o extranjeras, de derecho público o
privado:
a. Titulares, propietarios, poseedores, guías, adiestradores y tenedores, en
general, de animales domésticos;
b. Propietarios y encargados de criaderos;
c. Establecimientos de venta, servicios de acicalamiento, adiestramiento de
animales de compañía en general y almacenes agro veterinarios;
d. Consultorios, clínicas y hospitales veterinarios, y en general médicos
veterinarios, que funcionen en el Cantón Guayaquil;
e. Organizaciones de la Sociedad Civil de protección, registro, crianza,
cuidado de animales o que adiestren perros de asistencia para personas
con capacidades especiales, en el Cantón Guayaquil; y,
f. Los demás relacionados con fauna urbana.
Además de cumplir con lo dispuesto en el presente Título, los sujetos deberán
colaborar con los funcionarios competentes del Municipio del Cantón Guayaquil,
en los términos establecidos en el ordenamiento jurídico nacional y cantonal.
Capítulo Ii Obligaciones Y Prohibiciones De Los Sujetos Obligados
Art. 3.- Obligaciones de los titulares de animales domésticos. - Los sujetos
definidos en el artículo anterior, deberán cumplir con las siguientes obligaciones
respecto a la tenencia de animales:
c) Someter a los animales a los tratamientos médicos veterinarios preventivos
y curativos que pudieran precisar.
33
TÍTULO VII INTEGRALIDAD
Capítulo 2: de la Tipología de Instituciones, y Régimen Académico
Sección Tercera: Funcionamiento de Instituciones de Educación Superior
Art. 144.- Tesis Digitalizadas. - Todas las instituciones de educación superior
estarán obligadas a entregar las tesis que se elaboren para la obtención de títulos
académicos de grado y posgrado en formato digital para ser integradas al Sistema
Nacional de Información de la Educación Superior del Ecuador para su difusión
pública respetando los derechos de autor. 5. Integrar los espacios de participación
previstos en la Constitución en el campo de la comunicación.
REGLAMENTO DE RÉGIMEN ACADÉMICO
Título II Organización del Proceso de Aprendizaje
Capitulo III: de la Estructura Curricular.
Art 28.- Campos de formación de la educación superior de grado o de
tercer nivel. - En este nivel, los campos de formación se organizarán de la
siguiente manera:
2. Praxis profesional. - Integra conocimientos teóricos-metodológicos y
técnicas instrumentales de la formación profesional e incluye las prácticas pre
profesionales, los sistemas de supervisión y sistematización de las mismas.
Ley de Propiedad Intelectual
Sección V
Disposiciones especiales sobre ciertas obras
Párrafo Primer De Los Programas De Ordenador
Art. 28.- Los programas de ordenador se consideran obras literarias y se protegen
como tales. Dicha protección se otorga independientemente de que hayan sido
incorporados en un ordenador y cualquiera sea la forma en que estén expresados,
ya sea en forma legible por el hombre (código fuente) o en forma legible por
máquina (código objeto), ya sean programas operativos y programas aplicativos,
34
incluyendo diagramas de flujo, planos, manuales de uso, y en general, aquellos
elementos que conformen la estructura, secuencia y organización del programa.
Art. 29.- Es titular de un programa de ordenador, el productor, esto es la persona
natural o jurídica que toma la iniciativa y responsabilidad de la realización de la
obra. Se considerará titular, salvo prueba en contrario, a la persona cuyo nombre
conste en la obra o sus copias de la forma usual.
Dicho titular está además legitimado para ejercer en nombre propio los derechos
morales sobre la obra, incluyendo la facultad para decidir sobre su divulgación.
El productor tendrá el derecho exclusivo de realizar, autorizar o prohibir la
realización de modificaciones o versiones sucesivas del programa, y de
programas derivados del mismo.
Las disposiciones del presente artículo podrán ser modificadas mediante acuerdo
entre los autores y el productor.
Art. 30.- La adquisición de un ejemplar de un programa de ordenador que haya
circulado lícitamente autoriza a su propietario a realizar exclusivamente:
a) Una copia de la versión del programa legible por máquina (código objeto)
con fines de seguridad o resguardo;
b) Fijar el programa en la memoria interna del aparato, ya sea que dicha
fijación desaparezca o no al apagarlo, con el único fin y en la medida necesaria
para utilizar el programa; y,
c) Salvo prohibición expresa, adaptar el programa para su exclusivo uso
personal, siempre que se limite al uso normal previsto en la licencia. El
adquirente no podrá transferir a ningún título el soporte que contenga el
programa así adaptado, ni podrá utilizarlo de ninguna otra forma sin
autorización expresa, según las reglas generales.
d) Se requerirá de autorización del titular de los derechos para cualquier otra
utilización, inclusive la reproducción para fines de uso personal o el
35
aprovechamiento del programa por varias personas, a través de redes u otros
sistemas análogos, conocidos o por conocerse.
Art. 31.- No se considerará que exista arrendamiento de un programa de
ordenador cuando éste no sea el objeto esencial de dicho contrato. Se considerará
que el programa es el objeto esencial cuando la funcionalidad del objeto materia
del contrato, dependa directamente del programa de ordenador suministrado con
dicho objeto; como cuando se arrienda un ordenador con programas de ordenador
instalados previamente.
Art. 32. - Las excepciones al derecho de autor establecidas en los artículos 30 y
31 son las únicas aplicables respecto a los programas de ordenador. Las normas
contenidas en el presente párrafo se interpretarán de manera que su aplicación
no perjudique la normal explotación de la obra o los intereses legítimos del titular
de los derechos.
LEY DE COMERCIO ELECTRÓNICO, FIRMAS ELECTRÓNICAS Y MENSAJES
DE DATOS
Art. 4.- Propiedad Intelectual. - Los mensajes de datos estarán sometidos a las
leyes, reglamentos y acuerdos internacionales relativos a la propiedad intelectual.
Art. 9.- Protección de datos. - Para la elaboración, transferencia o utilización de
bases de datos, obtenidas directa o indirectamente del uso o transmisión de
mensajes de datos, se requerirá el consentimiento expreso del titular de éstos,
quien podrá seleccionar la información a compartirse con terceros. La recopilación
y uso de datos personales responderá a los derechos de privacidad, intimidad y
confidencialidad garantizados por la Constitución Política de la República y esta
Ley, los cuales podrán ser utilizados o transferidos únicamente con autorización
del titular u orden de autoridad competente.
DECRETO 1014 SOBRE EL USO DEL SOFTWARE LIBRE
Art. 1.- Establecer como política pública para las entidades de administración
Pública central la utilización del Software Libre en sus sistemas y equipamientos
informáticos.
36
Art. 2.- Se entiende por software libre, a los programas de computación que se
pueden utilizar y distribuir sin restricción alguna, que permitan el acceso a los
códigos fuentes y que sus aplicaciones puedan ser mejoradas. Estos programas
de computación tienen las siguientes libertades: Utilización de programa con
cualquier propósito de uso común. Distribución de copias sin restricción alguna.
Estudio y modificación de programa (Requisito: código fuente disponible)
Publicación del programa mejorado (Requisito: código fuente disponible
DEFINICIONES CONCEPTUALES
Aplicación web
En términos informáticos se denomina aplicación web al conjunto de
herramientas que los usuarios pueden utilizar para acceder a un servidor web a
través del internet o de una intranet mediante un navegador.
Open Source
Son aquellos programas informáticos que permiten el acceso a su código de
programación, lo que facilita modificaciones por parte de otros programadores
ajenos a los creadores originales del software en cuestión.
Dominio de internet
Se define como dominio de Internet al nombre de un equipo relacionado con una
dirección IP numérica. Este dominio permite vincular diversos nodos para que su
identificación resulte más simple.
Framework
En informática se la define como una estructura que sirve para saber que
programas pueden o deben ser construidos y como se interrelacionan.
HTML
Es un lenguaje de marcas que permite crear documentos que puedan ser
compartidos por Internet
37
Template
Se denomina template o plantilla a la herramienta comúnmente utilizada para
separar la parte de diseño web de la programación de todo lo que corresponde a
las funcionalidades de la página web.
Plug-in
Es una parte de software con la cual se puede ampliar las funcionalidades de un
sistema, por lo general de un navegador web, también suele emplearse en otros
entornos, como lo son los programas de edición musical.
Tablet
Es un instrumento electrónico con una medida intermedia entre un computador y
un celular, ligero, independiente, su manejo es táctil.
Smartphone
Es un aparato con una gran capacidad de computo tecnológico que se emplea
como teléfono que reúne una gran cantidad de aplicaciones orientadas a distintas
tareas.
Symfony
Es un framework completo creado para optimizar el desarrollo de las aplicaciones
web.
Blade
Sistema de plantillas que maneja Laravel para la interfaz, el cual permite generar
HTML dinámico con una sintaxis mucho más limpia que si utilizamos PHP plano.
Core
Core o núcleo, es la base sobre la cual se desarrolla un aplicativo de software, ya
sea construido desde la primera línea de código, o utilizando uno existente, como
se lo realizo en este proyecto, para el sitio web se utilizó como núcleo el gestor de
contenidos WordPress.
38
Dispositivo móvil
Un aparato de tamaño pequeño con capacidades de procesamiento que puede
conectarse a una red que posee una memoria limitada.
Sistema
Es un aplicativo que se ejecuta sobre un ordenador el cual permite, ingresar,
almacenar y procesar información.
Software
El software es el conjunto de rutinas, escritas para que un ordenador las siga y
pueda realizar una determinada tarea en base a la lógica indicada.
Hardware
Parte física tangible de la computadora.
ECMAScript
Es una especificación de lenguaje de programación publicada por ECMA
International. Actualmente está aceptado como el estándar ISO 16262.
ASP.NET
Es un modelo de desarrollo Web unificado que incluye los servicios necesarios
para crear Aplicaciones Web empresariales con el código mínimo.
Hosting
Es un alojamiento web. es el servicio que provee a los usuarios de Internet un
sistema para poder almacenar información, imágenes, vídeo, o cualquier
contenido accesible vía web.
Feedback
Retroalimentación es la característica de un sistema que consiste que parte de la
señal de salida vuelve a entrar en el sistema como parte de la señal de entrada, a
menudo con un retraso temporal, y constituye un bucle cerrado; permite que el
sistema tenga capacidad de control y autocorrección.
39
CAPÍTULO III
PROPUESTA TECNOLÓGICA
TEMA DEL PROYECTO: DESARROLLO DE UN PROTOTIPO DE UNA
APLICACIÓN WEB DESDE DISPOSITIVOS MÓVILES (SMARTPHONES)
PARA REALIZAR LA GESTIÓN DE SERVICIOS VETERINARIOS.
Con la finalidad de presentar una solución a la problemática que se plantea al
inicio de este proyecto por lo cual se desarrolla el aplicativo web desde los
smartphones, y así mejorar la gestión de los servicios veterinarios.
ANÁLISIS DE FACTIBILIDAD
Aquí se definirá las posibilidades que tendrá la página de éxito de uso para los
usuarios amantes de los animales. Se realizará una evaluación en el software para
poder determinar el análisis técnico y operacional de la aplicación en los
Smartphone.
Factibilidad operacional
Actualmente para agendar citas u obtener información de las mascotas se las
realiza directamente en el centro veterinario, no existe un registro para las citas o
el mejor de los casos sólo cuentan con una hoja de control de vacunas que el
medico entrega al dueño de la mascota (Ver Anexo 4),y en muchas ocasiones
resulta olvidada o extraviada por el usuario con lo cual no se hace el seguimiento
médico, por esta razón se propone una aplicación donde se pueda agendar citas,
crear un registro de las mismas, obtener la historia clínica de la mascota y los
tratamientos a los cuales ha sido sometido en cada consulta médica. Sabiendo las
necesidades tanto de los clientes como del centro veterinario para el desarrollo de
la aplicación que se propone en este proyecto.
40
Factibilidad técnica
Las aplicaciones web son ampliamente utilizadas en los dispositivos móviles, es
muy común el uso de los celulares, por lo tanto, los usuarios no necesitarán de
capacitación previa.
El desarrollo de la aplicación se lo realiza con un código Open Source con esto no
se incurre en el gasto por compra o utilización de licencias. Considerando el
software se obtuvo un dominio para situar la página web que se desarrolla en
WordPress la parte visual de la página, MySQL 5 es la base de datos donde se
guardarán los datos de los usuarios junto a los datos de las mascotas, se utiliza
un código abierto como es Laravel 5.1 y PHP para el desarrollo y para las
palidaciones y funcionalidad en la web JQuery y JavaScript.
El manejo y soporte de la página se dará una tutoría a las personas que tengan
que interactuar con los datos que deberán ser ingresados a la base de datos por
parte del usuario de la Clínica Veterinario.
A nivel de hardware lo pueden visualizar tanto en los dispositivos móviles
Smartphone y laptop por medio de un aplicativo web al que tengan acceso los
usuarios amantes de las mascotas y el dueño de la Clínica Veterinaria.
Las herramientas con las cuales se trabajará para desarrollar el prototipo del
presente proyecto son:
Un desarrollador o programador.
Un computador portátil o también llamada laptop
Se utilizará el lenguaje PHP en versión 7.0 como intérprete del código
Laravel 5.1 es el framework o entorno de trabajo de código abierto sobre el que
se desarrollará la aplicación. Este framework nos facilitará el manejo de sesiones,
conexiones a base de datos, y maquetación.
JQuery y JavaScript se lo utilizara para las funcionalidades dentro del navegador
web, validaciones, etc.
HTML5 y CSS3 para visualización de la parte grafica
41
MySQL 5 será la base de datos para almacenamiento.
WordPress para el diseño de la página externa
Un hosting o alojamiento web: 1&1
Un dominio de internet: www.mascotasfelicesec.com
CUADRO N°4: Recursos del Ambiente de Desarrollo
Tipos de
recursos
Nombre del recurso Características
Hardware
Computador portátil /
Laptop
Marca Hp
Intel Core i7 6500U
Cpu2.50 GHz 2.59GHz
16GB de RAM
Procesador x64
Sistema operativo Windows
10 Home de 64 bits
Software
PHP
Laravel
JQuery
JavaScript
HTML
MySQL
WordPress
Lenguaje con código sencillo
Framework de trabajo para
PHP
Trabaja en conjunto a
JavaScript
Utilizado en las aplicaciones
web
Sirve para maquetar el
diseño de las páginas web
Base de datos gratuita y de
gran rendimiento
Manejador de contenidos de
páginas web
Humano
Desarrollador/programador
del sistema
Con conocimientos en todas
las herramientas a utilizar
para el desarrollo del
prototipo de la aplicación
web
42
Otras
herramientas
Hosting 1&1
Dominio en internet
Paquetes de hosting muy
económicos
www.mascotasfelicesec.com
Elaborado por: Evelyn Castro Flores.
Fuente: Datos de investigación realizada.
Factibilidad legal
El estudio de la factibilidad legal tiene como objetivo verificar si el sistema que se
va a desarrollar del presente proyecto de tesis no vulnera o viola las leyes vigentes
o la reglamentación propia de la organización.
Como el proyecto está hecho bajo software libre, no infringe ninguna ley ya
establecida en la Constitución ni en el Código de Procedimiento Penal o Civil
vigente en nuestro País, no incurre en ninguna infracción o violación que
imposibilite ponerlo en ejecución al sistema, por lo tanto, se determina que es un
proyecto factible legalmente dado que está contemplado dentro de las leyes que
amparan el uso del software libre.
Factibilidad económica
En este ítem se realiza el análisis costo/beneficio del prototipo de aplicación web
para verificar si es factible económicamente ya que las herramientas empleadas
en el desarrollo del mismo son software libre con lo cual no se necesita incurrir en
gastos de licencias de ningún tipo.
El costo por el dominio donde se aloja la dirección de la página web es anual, se
deberá actualizar los datos según sean necesarios en la base de datos de los
pacientes.
Se utilizaría una computadora laptop, conexión a red sea por cable RJ45 o wifi,
dominio web y hosting.A continuación, se muestra el detalle de todos los recursos
utilizados para el desarrollo de este proyecto.
43
CUADRO N°5: COSTOS DEL RECURSO DE SOFTWARE
RECURSO DE SOFTWARE
DESCRIPCIÓN COSTO MENSUAL CANTIDAD MESES TOTAL
MySQL 0 1 3 0
PHP 0 1 3 0
LARAVEL 0 1 3 0
WORDPRESS 0 1 3 0
TOTAL 0
Elaborado por: Evelyn Castro Flores.
Fuente: Datos de investigación realizada.
En el CUADRO N°6, se detalla el costo del recurso humano, es decir el valor que
se deberá cancelar al programador por el tiempo que emplea para desarrollar la
aplicación web.
CUADRO N°6: COSTOS DE RECURSO HUMANO
Elaborado por: Evelyn Castro Flores.
Fuente: Datos de investigación realizada.
En el CUADRO N°7, se detalla el costo del recurso de hardware, es decir la laptop
y gastos de hosting y dominio web que se emplearan para colocar el prototipo de
la aplicación web.
CUADRO N°7: COSTOS DE RECURSOS DE HARDWARE
Elaborado por: Evelyn Castro Flores. Fuente: Datos de investigación realizada.
DESCRIPCION COSTO MENSUAL CANTIDAD MESES TOTAL
PROGRAMADOR $800 1 3 2.400,00$
2.400,00$
RECURSO HUMANO
TOTAL
DESCRIPCION COSTO CANTIDAD MESES TOTAL
LAPTOP $600 1 3 600,00$
HOSTING Y DOMINIO WEB $5,34 1 12 64,08$
$664,08
RECURSO DE HARDWARE
TOTAL
44
En el CUADRO N°8, se detalla el presupuesto total del proyecto, la sumatoria de
los costos de todos los recursos que se emplearan para llevar acabo la creación
del aplicativo web.
CUADRO N°8: PRESUPUESTO DEL PROYECTO
PRESUPUESTO DEL PROYECTO
RECURSOS DE SOFTWARE
DESCRIPCION COSTOS
MySQL, PHP, Laravel, WordPress, Javascript, JQuery $.00 $64.08 Dominio Web y Hosting
RECURSOS DE HARDWARE
1 Computador portátil $600
RECURSO HUMANO
1 Programador $2.400
GASTOS GENERALES
Transporte $300
Alimentación $450
Útiles de oficina $200
Internet $200
TOTAL DEL PRESUPUESTO $4.214.08
Elaborado por: Evelyn Castro Flores. Fuente: Datos de investigación realizada
ETAPAS DE LA METODOLOGÍA DEL PROYECTO
Por lo ante expuesto en el Capítulo I sobre la metodología aquí utilizada se definirá
las siguientes etapas:
Iniciación
En esta etapa se realiza el análisis de los requerimientos de los usuarios tanto de
la Clínica Veterinaria como los dueños de mascotas.
Para iniciar el prototipo consideré identificar los requisitos del problema, tener
claro a quien dirijo el proyecto y si cumple con las necesidades, inquietudes y
expectativas, tener una comunicación con la persona interesada del Centro
veterinario y con los clientes dueños de las mascotas.
45
Planificación
En esta etapa desarrollamos las maquetas con las distintas funcionalidades que
tendrá la aplicación web cada una de las partes con las que contará la portada y
las secciones dentro del aplicativo web.
Se crean los manuales de usuario del proyecto.
Se definen los alcances (Ver página 10)
Se realiza pruebas para validar la calidad de producto obtenido (Ver página 65 -
68).
Se realiza el cronograma (Ver Anexo 1).
Se realiza presupuesto (Ver Cuadro N° 8).
Se analizan los recursos necesarios para desarrollar el prototipo de la aplicación
web (Ver Cuadro N°5,6,7)
Ejecución
En esta fase se realiza la codificación, todo lo que corresponde propiamente a la
programación de cada parte que estará conformada la aplicación web. Se
adquiere el dominio y hosting para el sitio web,
Se desarrolla la página web y se la sube a WordPress, la cual cuenta con todos
los servicios que se ofrece en la Clínica Veterinaria.
Se crea la base de datos para poder ingresar
Monitoreo y control
Se realizan las pruebas de la aplicación sobre los distintos dispositivos
smartphones Android y IOS y sobre los navegadores web que ellos utilizan. Así
también como los diferentes pruebas sobre la aplicación web que se está
desarrollando, para asegurar que la misma cumple con los estándares que toda
buena aplicación web debe tener.
Cierre
Se finaliza con los resultados obtenidos una será la aplicación web desde
dispositivos smartphones y la otra será la página web para el dueño de la Clínica
Veterinaria Adicional se hacen recomendaciones y sugerencias para el producto
final.
46
ENTREGABLES DEL PROYECTO
Los entregables para el proyecto son los siguientes:
• Código fuente en PHP
• Scripts de Base de datos
• Manual de Usuario
• Documento de Tesis
CRITERIOS DE VALIDACIÓN DE LA PROPUESTA
Para la validación de la propuesta, se realizó un conjunto de pruebas sobre el
funcionamiento de la aplicación y el sitio web desarrollado y expuesto en el hosting
contratado.
Informe de pruebas
El sitio web http://web.mascotasfelicesec.com se verificó el funcionamiento de las
funcionalidades en los siguientes navegadores:
• Google Chrome para Windows
• Mozilla Firefox para Windows
• Google Chrome para OSX
• Mozilla Firefox para OSX
• Google Chrome para Android
• Safari para iOS
Acceso al sitio web
Se realizó la prueba accediendo desde cada uno de los navegadores a la url
http://www.mascotasfelicesec.com y http://web.mascotasfelicesec.com, los cuales
nos dirigen al sitio web diseñado en WordPress y alojado en el hosting 1and1 sin
problemas.
47
Acceso al aplicativo
El acceso a la url http://app.mascotasfelicesec.com desde la cual se ingresa al
aplicativo, se puede visualizar correctamente en cada uno de los navegadores
escogidos para la prueba.
Registro de usuario
Para la validación de creación de nuevos usuarios, se realizó la prueba utilizando
dos correos electrónicos de Gmail y Hotmail, los cuales llegaron con el enlace para
confirmar el registro y luego de esto permitió el acceso al aplicativo correctamente.
Recuperación de contraseña
Al escoger la opción de recuperación de contraseña, se procedió a validar que el
link recibido para recuperar la contraseña, y se actualizo la contraseña a una
nueva, y se permitió el ingreso al sistema con la nueva contraseña de acceso sin
inconvenientes.
Manejo de mascotas
El usuario tiene la posibilidad de registrar mascotas que posea, se realizó la
prueba creando mascotas para los usuarios y se verificó que las mascotas fueron
asignadas al usuario.
Manejo de citas
El manejo de citas se maneja en dos tipos de usuarios, el administrador (médico
veterinario) y el usuario.
El usuario al acceder a la opción citas, puede solicitar una cita para una mascota.
El usuario admin tiene la posibilidad de aceptar o rechazar las citas solicitadas
Al rechazar o aceptar una cita, se envía vía correo electrónico una notificación
para indicar al usuario que solicito la cita que fue aceptada o rechazada.
Atenciones
Esta opción es solo accesible para usuarios administradores, en esta se muestra
las citas del día las cuales fueron aceptadas. Junto a cada una aparece un link
para atender, se ingresa un texto indicando el resultado de la atención, y se guarda
para mantener el historial de la mascota atendida.
48
Historial
La opción historial, le muestra al usuario el resultado de todas las atenciones
realizadas por el médico. Al usuario se le muestra un listado con las mascotas
registradas a su nombre, y una vez escogida su mascota, le muestra en forma de
tabla todas las atenciones ingresadas en el módulo de atenciones.
Chat
El chat para el usuario permite escribir y mantener un historial de las
conversaciones realizadas con el médico. En el usuario admin aparecen todas las
conversaciones organizadas por usuario, le aparecen en orden de más nuevos en
la parte superior, una vez escogido uno de los usuarios, se muestra el detalle de
los mensajes intercambiados mediante esta opción.
CUADRO N°9: HERRAMIENTAS USADAS EN EL SITIO WEB mascotasfelicesec.com
Componente Descripción de uso
PHP 7 Php lenguaje ampliamente utilizado en la internet, es soportado por los servicios de hosting más importantes. En su versión 7, PHP cuenta con grandes mejoras en su velocidad, lo cual lo posiciona como una de las mejores opciones para el manejo y desarrollo de páginas como de APLICACIÓNes web.
Laravel Desarrollado para funcionar sobre PHP, Laravel presenta una forma de codificación que aprovecha el manejo de clases, MVC, y gran número de métodos lo cual logra que nuestro código sea mucho más limpio y corto en la cantidad de líneas necesarias.
MySQL MySQL es la base de datos gratuita de mayor difusión y soporte para los sitios de hosting más utilizados, esto debido a su excelente integración con métodos nativos desde PHP.
WordPress Es el gestor de contenidos gratuito más utilizado en la internet, debido a su facilidad de manejo, gran soporte con actualizaciones continuas y un amplio contenido de temas y plugin que harán el sitio web, más vistoso y funcional.
1and1 Hosting El hosting 1and1 es uno de los más grandes de internet, el cual cuenta con precios bajos, además de un panel de manejo de sitios, dominios, subdominios, base de datos, acceso ssh, etc. que son muy útiles y sencillos de usar, lo cual nos ahorra tiempo en el manejo de nuestra página web y aplicaciones instaladas en el servidor.
49
Cuenta además con un soporte técnico con tiempos de respuesta muy cortos que están dispuestos a ayudar en cuanto a problemas, además de foros de discusión donde se puede encontrar soluciones a los problemas más frecuentes.
Html Lenguaje marcado de hipertexto. Define una estructura básica y código para la definición del contenido de una página web.
Javascript y Jquery
Lenguaje interpretado en el cliente navegador para implementar funcionalidades en la página web. Jquery es un conjunto de funcionalidades que dan facilidad al manejo de rutinas utilizadas con mucha frecuencia por javascript dentro de las aplicaciones web.
Elaborado por: Evelyn Castro Flores.
Fuente: Datos de investigación realizada
Dentro de la aplicación web encontrarán los siguientes elementos:
La pantalla principal de la aplicación web en la cual se puede observar todos los
servicios que ofrece.
ILUSTRACIÓN N°11:
PORTADA DE LA APLICACIÓN WEB
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro.
Al hacer un clic para empezar se mostrará la sección de vacunas que es uno de
los servicios fundamentales que las mascotas deben recibir puesto que las
protege e inmuniza contra enfermedades que pueden inclusive afectar a las
personas como es el caso de la rabia, leptospirosis, toxoplasmosis, brucelosis,
etc.
50
ILUSTRACIÓN N°12:
SERVICIOS QUE SE OFRECEN: VACUNAS
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro.
En la siguiente imagen encontrara otro servicio que se ofrece en la aplicación
como es el caso de la Atención Veterinaria ya que es de suma importancia que
cada mascota disponga de un chequeo veterinario a tiempo con el fin de garantizar
una buena salud y así prevenir las enfermedades o atenderlas en el caso de
haberse presentado ya algún padecimiento.
A continuación, otra de las bondades con las que cuenta la aplicación web es la
sección de Peluqueria ya que las mascotas saben sin lugar a duda cuando se
encuentran limpios y están en buenas condiciones
51
ILUSTRACIÓN N°13:
SERVICIOS QUE SE OFRECEN: ATENCIÓN VETERINARIA
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro.
Si las mascotas se encuentran bien aseadas se las notará más saludables, su
comportamiento será mejor se verán más activos juguetones y felices, los
consentidos del hogar al igual que las personas se sienten bien cuando se ven
bien.
Muchos dueños piensan que la Peluqueria de su mascota es opcional pero no es
así, que el enfoque que se le da es exclusivo a la parte estética, pero esta va más
allá porque la higiene juega un papel importante en la salud de los animales los
protege de plagas, les permite mantener un pelaje suave sedoso y una piel más
sana manteniéndola libre de enfermedades cutáneas.
52
ILUSTRACIÓN N°14:
SERVICIOS QUE SE OFRECEN: PELUQUERIA
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
¿Qué más podrá encontrar en la portada de la aplicación web?
Contará con el servicio de esterilizaciones estos son algunos de los beneficios de
someter a las mascotas a la cirugía de extirpación de sus órganos reproductores
prevenir el contagio de enfermedades, se dan cambios de conducta positivos en
los animales que han sido esterilizados y mejoran su calidad de vida.
ILUSTRACIÓN N°15:
OTROS SERVICIOS QUE SE OFRECEN: ESTERILIZACIONES, ETC.
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
También tendrá venta de accesorios tales como cadenas, collares, traillas, cepillos
y demás accesorios.
53
ILUSTRACIÓN N°16:
OTROS SERVICIOS: VENTA DE ACCESORIOS Y MAS
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
Para salvaguardar el bienestar de los miembros más peludos del hogar es
imprescindible que tengan un buen corte de su pelaje, un baño adecuado, un
correcto cepillado, las vacunas completas junto a chequeos veterinarios
periódicos.
Al acceder al aplicativo web se muestra una pantalla en la cual se debe ingresar
el usuario (correo electrónico) y contraseña.
ILUSTRACIÓN N°17:
INICIO DE SESIÓN
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
54
Para acceder al aplicativo web el usuario debe registrarse mediante el ingreso de
su correo electrónico, contraseña y su nombre, una vez realizado esto se le
enviará un correo para confirmar sus datos.
ILUSTRACIÓN N°18:
REGISTRO DE USUARIO
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
ILUSTRACIÓN N°19:
VALIDACIÓN DE CORREO
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
55
ILUSTRACIÓN N°20:
CONFIRMACIÓN DE CORREO
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
Una vez completado el registro, puede ingresar y empezar a utilizar la aplicación.
Si se olvida de su contraseña, puede ingresar a la opción de recuperar contraseña.
ILUSTRACIÓN N°21:
RECUPERAR CONTRASEÑA
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
Al ingresar la dirección de correo con la que se registró inicialmente, y presionando
en el botón de recuperar contraseña, se envía un correo electrónico con un link
para proceder a actualizar su contraseña.
56
ILUSTRACIÓN N°22:
ENVÍO DE EMAIL PARA RECUPERAR CONTRASEÑA
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
ILUSTRACIÓN N°23:
CAMBIO DE CONTRASEÑA
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
Una vez que el usuario y la cuenta han sido creados podrán ingresar al aplicativo
web y seleccionar del menú las opciones que se encuentran dentro tales como el
ingreso de los datos del usuario, los datos de cada mascota, la consulta de historial
de atención
57
ILUSTRACIÓN N°24:
USUARIO ADENTRO DE LA APLICACIÓN WEB
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
El aplicativo cuenta con un menú de opciones a los cuales se puede acceder por
medio del botón en la esquina superior derecha.
ILUSTRACIÓN N°25:
EN EL MENÚ DE LA APLICACIÓN WEB
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
La primera opción en el menú es el Registro de Mascotas, en el cual el usuario
puede registrar sus mascotas.
58
ILUSTRACIÓN N°26:
SECCIÓN REGISTRO DE MASCOTAS
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
Debe ingresar el nombre, el tipo de mascota y la fecha de nacimiento de la
mascota para registrar su edad.
ILUSTRACIÓN N°27:
INGRESO DATOS DE MASCOTAS
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
La opción citas sirve para que el cliente pueda solicitar citas para su mascota.
59
ILUSTRACIÓN N°28:
SECCIÓN CITA MÉDICA
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
Al solicitar citas, se debe escoger la mascota, fecha y escribir el motivo por el cual
se desea solicitar la cita. Una vez que el medico aprueba la cita, le llegara un
correo indicándole la aceptación de la cita.
ILUSTRACIÓN N°29:
AGENDAR CITA MÉDICA
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
La opción historial muestra todas las atenciones previas realizadas a las
mascotas, si es administrador, debe en primer lugar escoger el usuario del cual se
desea conocer el historial, si es un usuario común, solo le aparecerá su historial.
60
ILUSTRACIÓN N°30:
SECCIÓN CITA MÉDICA
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
En el historial se muestra todas las atenciones referentes a sus mascotas.
ILUSTRACIÓN N°31:
SECCIÓN CITA MEDICA
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
Mi usuario, sirve para escoger el nombre y contraseña de usuario.
61
ILUSTRACIÓN N°32:
SECCIÓN CITA MÉDICA
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
La opción chat sirve para enviar mensajes entre el usuario y los médicos
veterinarios. Si la cuenta es de administrador, se debe escoger en primer lugar el
nombre del usuario.
ILUSTRACIÓN N°33:
SECCIÓN CHAT
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
Una vez escogido el usuario, se muestra los mensajes intercambiados, y una caja
de texto mediante la cual se puede dejar mensajes para comunicar a la otra parte.
62
ILUSTRACIÓN N°34:
SECCIÓN DETALLE DE CHAT
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
Atención, esta opción disponible solo para los usuarios administradores, muestra
las atenciones a las mascotas de citas agendadas y aceptadas. Puede escoger la
cita para generar la atención y poner un detalle referente a este.
63
ILUSTRACIÓN N°35:
SECCIÓN ATENCIÓN
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
En esta sección se muestra las atenciones diarias para cada usuario.
ILUSTRACIÓN N°36:
SECCIÓN DESCRIPCIÓN DE CADA ATENCIÓN
Fuente: Datos de Investigación
Elaborado por: Evelyn Castro
El veterinario o usuario administrador puede llenar la ficha de atención medica con
datos de cada paciente en caso de requerirlo.
64
CAPÍTULO IV
CRITERIOS DE ACEPTACIÓN DEL PRODUCTO O SERVICIO
Esta propuesta contiene dos tipos de criterios en validación:
• Informe de Pruebas Técnicas.
• Satisfacción de Usuarios por medio de Encuestas:
✓ A clientes de la Clinica Veterinaria Mascotas Felices
✓ A los doctores expertos en el tema de Medicina Veterinaria
INFORME DE PRUEBAS
Para la aceptación del aplicativo web, se procedió a realizar varias pruebas para
comprobar el rendimiento.
En el sitio de análisis tools.pingdom.com muestra el siguiente resultado para el
sitio web creado sobre la estructura de WordPress:
GRÁFICO N°1: EVALUACIÓN DE RENDIMIENTO DE SITIO WEB
www.mascotasfelicesec.com
Fuente: Datos de investigación realizada.
Elaborado por: Evelyn Castro Flores.
65
GRÁFICO N°2: CÓDIGO DE RESPUESTA DE SITIO WEB
www.mascotasfelicesec.com
Fuente: Datos de investigación realizada.
Elaborado por: Evelyn Castro Flores.
GRÁFICO N°3: EVALUACIÓN DE RENDIMIENTO DE LA APLICACIÓN
app.mascotasfelicesec.com
Fuente: Datos de investigación realizada.
Elaborado por: Evelyn Castro Flores.
66
GRÁFICO N°4: EVALUACIÓN 1
Fuente: Datos de investigación realizada.
Elaborado por: Evelyn Castro Flores.
GRÁFICO N°5: EVALUACIÓN 2
Fuente: Datos de investigación realizada.
Elaborado por: Evelyn Castro Flores.
Como resultado nos da una calificación A, mostrando que el sitio está en el 50%
de sitios con mejor rendimiento evaluados en este sitio.
67
Para la validación del sitio de aplicación se utilizó la misma herramienta, y los
resultados obtenidos son los siguiente:
GRÁFICO N°6: VALIDACIÓN DEL SITIO DE LA APLICACIÓN WEB
app.mascotasfelicesec.com
Fuente: Datos de investigación realizada.
Elaborado por: Evelyn Castro Flores.
GRÁFICO N°7: CÓDIGO DE RESPUESTA DE LA APLICACIÓN WEB
app.mascotasfelicesec.com
Fuente: Datos de investigación realizada.
68
Elaborado por: Evelyn Castro Flores.
GRÁFICO N°8: RESULTADO DE RENDIMIENTO DE LA APLICACIÓN WEB
app.mascotasfelicesec.com
Fuente: Datos de investigación realizada.
Elaborado por: Evelyn Castro Flores.
El aplicativo tiene un rendimiento calificado con E, y se muestra como un sitio que
es más rápido que el 87% de sitios evaluados dentro de esta herramienta.
SATISFACCIÓN DE USUARIOS POR MEDIO DE ENCUESTAS
Se detalla a continuación el estudio que fortalece el desarrollo del sistema.
Población:
De la Clinica Veterinaria Mascotas Felices se determinó una población total de 30
personas, de los cuales, incluyen los dueños de mascotas que acuden a la
veterinaria cuando desean realizar algún servicio a sus compañeros peludos junto
a los doctores que son quienes atienden en la veterinaria.
69
Se consideró importante la opinión del personal administrativo que labora en la
Veterinaria para reconocer la problemática y las necesidades del proyecto.
El personal administrativo que labora en la Clinica veterinaria representado por los
doctores será la población con la cual se realizó el estudio para determinar la
encuesta dirigida a los veterinarios sobre el proyecto.
CUADRO N°10: Población Clínica Veterinaria
POBLACIÓN CANTIDAD
Doctores 2
Clientes 28
Total 30
Elaborado por: Evelyn Castro Flores.
Fuente: Datos de investigación realizada.
Muestra:
La muestra es una fracción que representa las características que definen la
población total, en donde se consideran dos aspectos básicos:
• Tamaño de la muestra.
• Representatividad.
Tamaño de la muestra:
Para el cálculo de tamaño de muestra cuando el universo es finito, es decir
contable y la variable de tipo categórica, primero debe conocer "N" ó sea el número
total de casos esperados
Si la población es finita, es decir conocemos el total de la población y deseásemos
saber cuántos del total tendremos que estudiar la fórmula sería:
Donde:
• N = Total de la población =28
• Zα= 1.96 al cuadrado (si la seguridad es del 95%)
• p = proporción esperada (en este caso 5% = 0.05)
• q = 1 – p (en este caso 1-0.05 = 0.95)
70
• d = precisión (en su investigación use un 5%).
Se obtuvo como resultado que la muestra será de 28
Representatividad:
La representatividad son los individuos que comprenden la población, los cuales
deben encontrarse en la muestra.
Encuestas para los clientes de la Clínica Veterinaria
1. ¿Sabia Ud. qué para mantener sana a su mascota debe vacunarla?
CUADRO N°11: Resultados de la Pregunta 165
OPCIONES DE
RESPUESTAS RESULTADO PORCENTAJE
SI 26 100%
NO 0 0%
TOTAL 26 100%
Elaborado por: Evelyn Castro Flores.
Fuente: Datos de investigación realizada.
GRÁFICO N°9: Resultado Pregunta 1 – Encuesta
Todos los encuestados responde que si saben que para mantenerla sana la
mascota debe ser vacunada.
100%
0%
PREGUNTA 1
SI
NO
71
2. ¿Conoce Ud. qué tipo de vacunas deben aplicarle a su mascota?
CUADRO N°12: Resultados de la Pregunta 2
OPCIONES DE RESPUESTAS
RESULTADO PORCENTAJE
SI 11 46%
NO 15 54%
TOTAL 26 100%
Elaborado por: Evelyn Castro Flores.
Fuente: Datos de investigación realizada.
GRÁFICO N°10: Resultado Pregunta 2 – Encuesta
El 54% de los encuestados no conoce que tipo de vacunas debería aplicársele a
la mascota
3. ¿Sabe Ud. cuantas vacunas debe ponerle a su mascota?
CUADRO N°13: Resultados de la Pregunta 3
OPCIONES DE RESPUESTAS
RESULTADO PORCENTAJE
a)1 2 8%
b)2 6 25%
c)3 9 38%
d)4 6 25%
e) Ninguna 1 4%
TOTAL 26 100%
Elaborado por: Evelyn Castro Flores.
Fuente: Datos de investigación realizada
42%
58%
PREGUNTA 2
SI
NO
72
GRÁFICO N°11: Resultado Pregunta 3 – Encuesta
Solo el 25% de los encuestados tiene un conocimiento real de cuantas vacunas
debe aplicársele a la mascota.
4. ¿Con qué frecuencia asiste Ud. con su mascota al veterinario?
CUADRO N°14: Resultados de la Pregunta 4
OPCIONES DE RESPUESTAS
RESULTADO PORCENTAJE
Frecuentemente 8 31%
Poco frecuente 16 62%
Nunca 2 8%
TOTAL 26 100%
Elaborado por: Evelyn Castro Flores.
Fuente: Datos de investigación realizada.
GRÁFICO N°12: Resultado Pregunta 4 – Encuesta
Como podemos observar el 62% de los encuestados afirma asistir a una consulta
veterinaria de manera poco frecuente
8%
25%
38%
25%
4%
PREGUNTA 3
a)1
b)2
c)3
d)4
e)Ninguna
31%
61%
8%
PREGUNTA 4
Frecuentemente
Poco frecuente
Nunca
73
5. ¿De qué manera agenda Ud. la consulta veterinaria de su mascota?
CUADRO N°15: Resultados de la Pregunta 5
OPCIONES DE RESPUESTAS
RESULTADO PORCENTAJE
a) Se acerca al consultorio 11 42%
b) Llama por teléfono 8 31%
c) Llega de improvisto 6 23%
d) Le resulta complicado sacar cita por eso no lo hace
1 4%
TOTAL 26 100%
Elaborado por: Evelyn Castro Flores.
Fuente: Datos de investigación realizada
GRÁFICO N°13: Resultado Pregunta 5 – Encuesta
El 42% de los encuestados asegura que se acerca directamente al consultorio
para agendar una cita veterinaria para las mascotas
6. ¿Le resultaría útil tener una aplicación que le permita hacer la gestión de
las citas veterinarias para su mascota desde su celular?
CUADRO N°16: Resultados de la Pregunta 6
OPCIONES DE RESPUESTAS
RESULTADO PORCENTAJE
SI 25 96%
NO 1 4%
TOTAL 26 100%
Elaborado por: Evelyn Castro Flores.
Fuente: Datos de investigación realizada
74
GRÁFICO N°14: Resultado Pregunta 6 – Encuesta
El 96 % de los encuestados afirma que le resultaría muy útil contar con una
aplicación que le permita hacer la gestión de las citas veterinarias para la mascota
desde su celular smartphone.
Encuesta para Doctores de la Clínica Veterinaria Mascotas Felices
1. ¿Cuantos pacientes atiende al día?
CUADRO N°17: Resultados de la Pregunta 1
OPCIONES DE RESPUESTAS
RESULTADO PORCENTAJE
1) 0 a 5 0 0%
2) 6 a 10 2 100%
3) 11 a 15 0 0%
4)16 a 20 0 0%
5) Mas de 20 0 0%
TOTAL 2 100%
Elaborado por: Evelyn Castro Flores.
Fuente: Datos de investigación realizada
GRÁÓFICO N°15: Resultado Pregunta 1 – Encuesta
75
El 100% de los encuestados indica que atiende un promedio entre 6 a 10
pacientes al día.
2. ¿Cuál es el procedimiento más común que realizan en la veterinaria?
CUADRO N°18: Resultados de la Pregunta 2
OPCIONES DE RESPUESTAS RESULTADO PORCENTAJE
1) Peluqueria 0 0%
2) Desparasitación 0 0%
3) Vacunación 0 0%
4) Consulta 2 100%
5) Esterilización 0 0%
6) Otros 0 0%
TOTAL 2 100%
Elaborado por: Evelyn Castro Flores.
Fuente: Datos de investigación realizada
GRÁFICO N°16: Resultado Pregunta 2 – Encuesta
El 100% de los encuestados asegura que el servicio con mayor demanda es en
la clínica veterinaria son las consultas.
76
3. ¿Cuál es el tiempo promedio de una consulta veterinaria?
CUADRO N°19: Resultados de la Pregunta 3
OPCIONES DE RESPUESTAS
RESULTADO PORCENTAJE
1) 10 minutos 1 50%
2) 20 minutos 1 50%
3) 30 minutos 0 0%
4)más de 30 minutos 0 0%
TOTAL 2 100%
Elaborado por: Evelyn Castro Flores.
Fuente: Datos de investigación realizada
GRÁFICO N°17: Resultado Pregunta 3 – Encuesta
En esta pregunta se puede evidenciar que el tiempo que dure una atención
veterinaria varía según la gravedad con la que ingresa cada mascota (paciente).
4. ¿Cuántas vacunas debe recibir mínimo una mascota para poder estar
sano?
CUADRO N°20: Resultados de la Pregunta 4
OPCIONES DE RESPUESTAS
RESULTADO PORCENTAJE
1) 1 vacuna y un refuerzo 0 0%
2) 2 vacunas y sus refuerzos 1 50%
3) 3 vacunas y sus refuerzos 0 0%
4) 4 vacunas sin refuerzos 1 50%
5) Ninguna vacuna 0 0%
TOTAL 2 100%
Elaborado por: Evelyn Castro Flores.
Fuente: Datos de investigación realizada
77
GRÁFICO N°18: Resultado Pregunta 4 – Encuesta
El 100 % de los encuetados conoce perfectamente cuantas dosis de vacuna se
le debe aplicar a cada mascota.
5. ¿Con que frecuencia acuden al centro veterinario los pacientes a
vacunarse?
CUADRO N°21: Resultados de la Pregunta 5
OPCIONES DE RESPUESTAS
RESULTADO PORCENTAJE
1) una vez al mes 1 50%
2) cada 3 meses 1 50%
3) cada 6 meses 0 0%
4) una vez por año 0 0%
5) Nunca 0 0%
TOTAL 2 100%
Elaborado por: Evelyn Castro Flores.
Fuente: Datos de investigación realizada
GRÁFICO N°19: Resultado Pregunta 5 – Encuesta
En este GRÁFICO podemos observar que el 50 % de los encuestados lleva asu
mascota a veterinario
78
6. ¿Tipo de mascota que más atiende en la veterinaria?
CUADRO N°22: Resultados de la Pregunta 6
OPCIONES DE RESPUESTAS
RESULTADO PORCENTAJE
1) Perro 1 50%
2) Gato 1 50%
3) Otro 0 0%
TOTAL 2 100%
Elaborado por: Evelyn Castro Flores.
Fuente: Datos de investigación realizada
GRÁFICO N°20: Resultado Pregunta 6 – Encuesta
El 50 % de los encuestados indica que el atiende más gatos y el otro 50%
atiende más a perritos
7. ¿Conoce Ud. alguna aplicación web que permita administrar los
servicios veterinarios en la veterinaria?
CUADRO N°23: Resultados de la Pregunta 7
OPCIONES DE RESPUESTAS
RESULTADO PORCENTAJE
SI 0 0%
NO 2 100%
TOTAL 2 100%
Elaborado por: Evelyn Castro Flores.
Fuente: Datos de investigación realizada
50%50%
0%
PREGUNTA 6
1) Perro
2) Gato
3) Otro
79
GRÁFICO N°21: Resultado Pregunta 7 – Encuesta
El 100 % de los encuestados reconoce no tener conocimiento de una aplicación
que facilite servicios veterinarios.
8. ¿Le gustaría hacer uso de alguna aplicación web que permita
administrar los servicios veterinarios en la Clinica?
CUADRO N°24: Resultados de la Pregunta 8
OPCIONES DE RESPUESTAS
RESULTADO PORCENTAJE
SI 2 100%
NO 0 0%
TOTAL 2 100%
Elaborado por: Evelyn Castro Flores.
Fuente: Datos de investigación realizada
GRÁFICO N°22: Resultado Pregunta 8 – Encuesta
80
CONCLUSIONES Y RECOMENDACIONES
CONCLUSIONES
Como conclusión al finalizar el desarrollo de este prototipo de aplicación para la
veterinaria Mascotas Felices, se puede evidenciar:
Se recopiló la información necesaria a partir del testimonio de algunos dueños de
mascotas y veterinarios consultados.
Se desarrolló una aplicación web como solución que facilite la gestión de los
servicios veterinarios desde los dispositivos móviles, según la disponibilidad de
tiempo del usuario.
Se logró generar reportes disponibles con información organizada de cada una de
las consultas que atiende el veterinario en la clínica.
Se realizó una prueba preliminar del aplicativo, obteniendo como feedback de los
usuarios que la aplicación agiliza el agendamiento de citas veterinarias y facilita la
comunicación directa con su veterinario mediante la creación de una cuenta con
chat para consultas posteriores a la cita médica.
RECOMENDACIONES
Se recomienda como futuras mejoras a realizar sobre este prototipo, incluir
certificados de seguridad en el sitio web para dar mayor seguridad a la información
que se mantiene almacenada.
Se recomienda el desarrollo de aplicaciones nativas en iOs y Andriod para los
dispositivos móviles, lo cual da mayor cantidad de funcionalidades a la aplicación
web y facilidad de uso para el usuario, tales como envió de fotos para diagnósticos
previos de emergencia, notificaciones y alertas.
81
Se recomienda migrar de hosting compartido a una VS, es decir un servidor virtual
según la necesidad de la Veterinaria el cual contaría con una mayor capacidad y
control de todas las funcionalidades al encontrarse en la nube.
82
BIBLIOGRAFÍA
✓ @DefinicionABC. (2017). DEFINICIÓN ABC » TECNOLOGÍA » PLUG-IN.
Retrieved from DEFINICIÓN ABC:
https://www.definicionabc.com/tecnologia/plug-in.php
✓ @DefinicionABC. (2017). DEFINICIÓN ABC » TECNOLOGÍA »
SMARTPHONE. Retrieved from DEFINICIÓN ABC tu diccionario hecho facil:
https://www.definicionabc.com/tecnologia/smartphone.php
✓ @DefinicionABC. (2017). DEFINICIÓN ABC » TECNOLOGÍA » TABLET.
Retrieved from DEFINICIÓN ABC . tu diccionario hecho facil:
https://www.definicionabc.com/tecnologia/tablet.php
✓ 7Graus . (2013). Significado de Jquery. Retrieved from Significados:
https://www.significados.com
✓ Alvarez, M. A., & Ruiz Ruso, C. (2015, 11 3). Manual de Laravel 5. Retrieved
from desarrolloweb.com: https://app.desarrolloweb.com/manuales/manual-
laravel-5
✓ Bill Abt, Jouni Ahto, Alexander Aulbach, Christoph Michael Becker, Daniel
Beckham, Stig Bakken, Nilgün Belma Bugüner, Jesus M. Castagnetto, Ron
Chmara, Sean Coates, John Coggeshall, Simone Cortesi, Peter
Cowburn,Daniel Egeberg, Markus Fischer, Wez Furlong. (2016). Manual de
PHP. Retrieved from php: http://php.net/manual/es/
✓ Cabal Coop. (2017, enero). Las mascotas como integrantes de la familia. (R.
M. VÁZQUEZ, Ed.) Revista Cabal, 1. Retrieved from
http://www.revistacabal.coop/actualidad/las-mascotas-como-integrantes-de-
la-familia
83
✓ Curso de Html. (2017, 05 22). Retrieved from YouBioit.com:
https://www.youbioit.com/es/article/shared-information/2601/curso-de-html-
primera-parte
✓ Duckett, J. (2013). JavaScript and JQuery: Interactive Front-End Web
Development.
✓ Jojooa. (2015, febrero 26). Definicion de template. Retrieved from Jojooa,
tecnologia, marketing y crm: https://sites.google.com/site/jojooa/informatica-
tecnologia/definicion-de-template-plantilla-que-es-un-template-plantilla
✓ LibrosWeb. (2018). Symfony en pocas palabras. Retrieved from
LIBROSWEB:
http://librosweb.es/libro/symfony_1_4/capitulo_1/symfony_en_pocas_palabra
s.html
✓ Lideres, R. (2013). Servicios a la orden de... las mascotas. Revista Lideres,
1. Retrieved from http://www.revistalideres.ec/lideres/servicios-orden-
mascotas.html
✓ Oracle Corporation. (2017). MySQL Documentation. Retrieved from
dev.mysql.com: https://dev.mysql.com/doc/
✓ Perù, M. d. (2013). Que es Laravel. Retrieved from Perù Ministerio del
Interior: https://www.mininter.gob.pe/content/que-es-laravel
✓ Roman, J. (2014). Que es CSS? Retrieved from Lenguajes.com:
https://lenguajecss.com/p/css/introduccion/que-es-css
✓ Rosado, S. A. (2015, 02 02). Tabla comparativa d los lenguajes de
programacion. Retrieved from Desarrollo Web:
http://desarrollowebydesarrolloweb.blogspot.com/2015/02/tabla-comparativa-
de-los-lenguajes-de.html
84
✓ Schein, H. (2017, junio 2). healthbenefits_FINAL.qxp. Retrieved from The
Health Benefits of Companion Animals:
https://www.nps.gov/goga/learn/management/upload/Comment-4704-
attachment_.pdf
✓ Venemedia. (2017, Octubre 9). Definicion de Javascript. Retrieved from
CONCEPTODEFINICION.DE: http://conceptodefinicion.de/javascript/
85
ANEXO 1
Cronograma
CRON
OGRA
MA
PARA
PRO
YECT
O DE
TITU
LACI
ON
ACTI
VIDA
DES
OCTU
BRE
NOVI
EMBR
EDI
CIEM
BRE
ENER
O
SEM
3SE
M 4
SEM
1SE
M 2
SEM
3SE
M 4
SEM
1SE
M 2
SEM
3SE
M 4
SEM
1
Capí
tulo
IPl
ante
amie
nto
del p
robl
ema
Obje
tivos
Alca
nce
Just
ifica
ción
e im
porta
ncia
Capí
tulo
IIM
arco
Teór
ico
Ante
cede
ntes
del
est
udio
Fund
amen
tació
n te
órica
Fund
amen
tació
n le
gal
Capí
tulo
IIIPr
opue
sta T
ecno
lógi
ca
Anál
isis d
e fa
ctib
ilida
d
Etap
as d
e la
met
odol
ogía
del p
roye
cto
Entre
gabl
es d
el p
roye
cto
Crite
rios d
e va
lidac
ión
de la
pro
pues
ta
Capí
tulo
IVCr
iterio
s de
acep
tació
n de
l pro
duct
o/ se
rvici
o
Conc
lusio
nes y
Rec
omen
dacio
nes
Entre
ga d
e an
illad
o 1e
ra re
visió
n
Desa
rrollo
del
pro
totip
o
86
ANEXO 2
Preguntas dirigidas a los dueños de mascotas
1. ¿Sabía Ud. que para mantener sana a su mascota debe vacunarla?
a) Sí
b) No
2. ¿Conoce Ud. qué tipo de vacunas deben aplicarle a su mascota?
a) Sí
b) No
3. ¿Cuántas vacunas deben ponerle a su mascota?
a) 1 vacuna y su refuerzo
b) 2 vacunas y sus refuerzos
c) 3 vacunas y sus refuerzos
d) 4 vacunas y sin refuerzos
e) Ninguna
4. ¿Con qué frecuencia asiste Ud. con su mascota al veterinario?
a) Frecuentemente
b) Poco frecuentemente
c) Nunca
5. ¿De qué manera agenda Ud. la consulta veterinaria de su mascota?
a) Se acerca al consultorio
b) Llama por teléfono
c) Llega de improvisto
d) Le resulta complicado sacar cita
6. ¿Le resultaría útil tener una aplicación que le permita hacer la gestión de
las citas veterinarias para su mascota desde su celular?
a) Sí
b) No
87
ANEXO 3
Preguntas dirigidas a los doctores que atienden en la Clínica Veterinaria
1. ¿Cuántos pacientes atiende al día?
1) 0 a 5
2) 6 a 10
3) 11 a 15
4) 16 a 20
5) Más de 20
2. ¿Cuál es el procedimiento más común que realizan?
1) Peluquería
2) Desparasitación
3) Vacunación
4) Consulta
5) Esterilización
6) Otros
3. ¿Cuál es el tiempo promedio de una atención?
1) 10 minutos
2) 15 minutos
3) 20 minutos
4) 30 minutos
5) Más de 30 minutos
4. ¿Cuántas vacunas debe recibir mínimo una mascota para estar sana?
1) 1 vacuna
2) 2 vacunas
3) 3 vacunas
4) Ninguna
88
5. ¿Con qué frecuencia acuden al centro veterinario los pacientes a
vacunarse?
1) Muy frecuente
2) Poco frecuente
3) Nunca
6. ¿Tipo de mascotas que más se atiende?
1) Gato
2) Perro
3) Otro
7. ¿Conoce Ud. alguna aplicación web que permita administrar los servicios
veterinarios en la veterinaria?
1) SÍ
2) NO
8. ¿Le gustaría hacer uso de alguna aplicación web que permita administrar
los servicios veterinarios en la Clínica?
1) SÍ
2) NO
89
ANEXO 4
Manual de Usuario
Inicio de sesión
Al acceder al aplicativo web se muestra una pantalla en la cual se
debe ingresar el usuario (correo electrónico) y contraseña.
INICIO DE SESIÓN
Para acceder al aplicativo web el usuario debe registrarse
mediante el ingreso de su correo electrónico, contraseña y su
nombre, una vez realizado esto se le enviará un correo para confirmar
sus datos.
90
REGISTRO DE USUARIO
Para validar la cuenta del correo del nuevo usuario le llega un
correo confirmando la cuenta de usuario
VALIDACIÓN DE CORREO
CONFIRMACIÓN DE CORREO
91
Una vez completado el registro, puede ingresar y empezar a utilizar
la aplicación. Si se olvida de su contraseña, puede ingresar a la
opción de recuperar contraseña.
RECUPERAR CONTRASEÑA
Al ingresar la dirección de correo con la que se registró
inicialmente, y presionando en el botón de recuperar contraseña, se
envía un correo electrónico con un link para proceder a actualizar su
contraseña.
ENVÍO DE EMAIL PARA RECUPERAR CONTRASEÑA
92
Aparecerá la opción para que el usuario pueda cambiar su
contraseña, al hacer clic sobre el botón guardar contraseña queda
guardado dicho cambio
CAMBIO DE CONTRASEÑA
Una vez que el usuario y la cuenta han sido creados podrán
ingresar al aplicativo web y seleccionar del menú las opciones que se
encuentran dentro tales como el ingreso de los datos del usuario, los
datos de cada mascota, la consulta de historial de atención
93
USUARIO ADENTRO DE LA APLICACIÓN WEB
El aplicativo cuenta con un menú de opciones a los cuales se
puede acceder por medio del botón en la esquina superior derecha.
EN EL MENÚ DE LA APLICACIÓN WEB
La primera opción en el menú es el Registro de Mascotas, en el
cual el usuario puede registrar sus mascotas.
94
SECCIÓN REGISTRO DE MASCOTAS
Debe ingresar el nombre, el tipo de mascota y la fecha de
nacimiento de la mascota para registrar su edad.
INGRESO DATOS DE MASCOTAS
La opción citas sirve para que el cliente pueda solicitar citas para
su mascota.
95
SECCIÓN CITA MÉDICA
Al solicitar citas, se debe escoger la mascota, fecha y escribir el
motivo por el cual se desea solicitar la cita. Una vez que el medico
aprueba la cita, le llegara un correo indicándole la aceptación de la
cita.
AGENDAR CITA MÉDICA
La opción historial muestra todas las atenciones previas realizadas
a las mascotas, si es administrador, debe en primer lugar escoger el
usuario del cual se desea conocer el historial, si es un usuario común,
solo le aparecerá su historial.
96
SECCIÓN CITA MÉDICA
En el historial se muestra todas las atenciones referentes a sus
mascotas.
SECCIÓN CITA MEDICA
Mi usuario, sirve para escoger el nombre y contraseña de usuario.
97
SECCIÓN CITA MÉDICA
La opción chat sirve para enviar mensajes entre el usuario y los
médicos veterinarios. Si la cuenta es de administrador, se debe
escoger en primer lugar el nombre del usuario.
SECCIÓN CHAT
98
Una vez escogido el usuario, se muestra los mensajes
intercambiados, y una caja de texto mediante la cual se puede dejar
mensajes para comunicar a la otra parte.
SECCIÓN DETALLE DE CHAT
Atención, esta opción disponible solo para los usuarios
administradores, muestra las atenciones a las mascotas de citas
agendadas y aceptadas. Puede escoger la cita para generar la
atención y poner un detalle referente a este.
99
SECCIÓN ATENCIÓN
En esta sección se muestra las atenciones diarias para cada
usuario.
SECCIÓN DESCRIPCIÓN DE CADA ATENCIÓN
El veterinario o usuario administrador puede llenar la ficha de
atención medica con datos de cada paciente en caso de requerirlo.
100
Anexo 5
Scripts de base de Datos
Welcome
<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Hash; use Illuminate\Http\Request; use App\SolicitudRegistro; use App\User; use App\Forgot; class WelcomeController extends Controller { /* |-------------------------------------------------------------------------- | Welcome Controller |-------------------------------------------------------------------------- | | This controller renders the "marketing page" for the application and | is configured to only allow guests. Like most of the other sample | controllers, you are free to modify or remove it as you desire. | */ /** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware('guest'); } /** * Show the application welcome screen to the user. * * @return Response */ public function index() { return view('welcome'); } public function registro(Request $request){ return view('registro'); }
101
public function procesar_registro(Request $request){ $sMail = $request->input("correo"); $oSolicitud = User::where("email",'=',$sMail)->first(); if(!empty($oSolicitud)){ return redirect('/login')->with("msg","Email ya se encuentra registrado"); } $oSolicitud = SolicitudRegistro::where("correo",'=',$sMail)->first(); if(empty($oSolicitud)) $oSolicitud = new SolicitudRegistro(); $oSolicitud->nombre = $request->input('nombre'); $oSolicitud->correo = $request->input('correo'); $oSolicitud->telefono = $request->input('telefono'); $oSolicitud->direccion = $request->input('direccion'); $clave = Hash::make($oSolicitud->correo.date("YmdHis")); $oSolicitud->clave_registro = $clave; $oSolicitud->password = Hash::make($request->input('password')); $oSolicitud->save(); //Se envia el mail $mail = new \PHPMailer(true); // notice the \ you have to use root namespace here try { //$mail->isSMTP(); // tell to use smtp $mail->isSendMail();//SMTP 1and1 //isSendMail $mail->SMTPDebug = 2; $mail->CharSet = "utf-8"; // set charset to utf8 $mail->SMTPAuth = true; // use smpt auth $mail->SMTPSecure = \Config::get('mail.encryption');//"tls"; // or ssl $mail->Host = \Config::get('mail.host');//"smtp.gmail.com"; $mail->Port = \Config::get('mail.port');//587; // most likely something different for you. This is the mailtrap.io port i use for testing. $mail->Username = \Config::get('mail.username');//"[email protected]"; $mail->Password = \Config::get('mail.password');//;"VacaCowePerroDoge"; $mail->setFrom(\Config::get('mail.from')['address'],\Config::get('mail.from')['name']); $mail->Subject = "Registro en Mascotas Felices"; $mail->MsgHTML("Para completar el registro ingresar en el siguiente link <a href='http://app.mascotasfelicesec.com/confirmar_registro?clave=$clave'>Registrar</a> "); $mail->addAddress($oSolicitud->correo); $mail->send(); } catch (phpmailerException $e) {
102
print_r($e); } catch (\Exception $e) { print_r($e); } return view('procesar_registro'); } public function confirmar_registro(Request $request){ $clave = $request->input('clave'); $arrParams = array(); $oSolicitud = SolicitudRegistro::where('clave_registro','=',$clave)->first(); if(!empty($oSolicitud)){ $oSolicitud->delete(); $arrParams['mensaje']="Registrado con exito. "; $oUser = new User(); $oUser->name=$oSolicitud->nombre; $oUser->email=$oSolicitud->correo; $oUser->username=$oSolicitud->correo; $oUser->telefono=$oSolicitud->telefono; $oUser->direccion=$oSolicitud->direccion; $oUser->password=$oSolicitud->password; $oUser->rol = "usuario"; $oUser->estado='A'; $oUser->save(); }else{ $arrParams['mensaje']="ERROR. "; } return view('showmessage',$arrParams); } public function forgot(Request $request){ $arrParams = array(); return view('forgot',$arrParams); } public function forgotprocess(Request $request){ $sMail = $request->input("correo"); $oUser = User::where("email",'=',$sMail)->first(); if(empty($oUser)){ return redirect('/login')->with("msg","Email no se encuentra registrado"); } $oForgot = Forgot::where("id_user",'=',$oUser->id)->first(); if(empty($oForgot)) $oForgot = new Forgot(); $oForgot->id_user = $oUser->id; $clave = Hash::make($sMail.date("YmdHis")); $oForgot->codigo = $clave;
103
$oForgot->save(); //Se envia el mail $mail = new \PHPMailer(true); // notice the \ you have to use root namespace here try { //$mail->isSMTP(); // tell to use smtp $mail->isSendMail();//SMTP 1and1 //isSendMail $mail->SMTPDebug = 2; $mail->CharSet = "utf-8"; // set charset to utf8 $mail->SMTPAuth = true; // use smpt auth $mail->SMTPSecure = \Config::get('mail.encryption');//"tls"; // or ssl $mail->Host = \Config::get('mail.host');//"smtp.gmail.com"; $mail->Port = \Config::get('mail.port');//587; // most likely something different for you. This is the mailtrap.io port i use for testing. $mail->Username = \Config::get('mail.username');//"[email protected]"; $mail->Password = \Config::get('mail.password');//;"VacaCowePerroDoge"; $mail->setFrom(\Config::get('mail.from')['address'],\Config::get('mail.from')['name']); $mail->Subject = "Recuperar clave de Mascotas Felices"; $mail->MsgHTML("Para completar el proceso ingresar en el siguiente link <a href='http://app.mascotasfelicesec.com/forgotlanding?clave=$clave'>Recuperar Contraseña</a> "); $mail->addAddress($oUser->email); $mail->send(); $arrParams['mensaje']="Revisar su bandeja de entrada para completar el proceso. "; } catch (phpmailerException $e) { print_r($e); } catch (\Exception $e) { print_r($e); } return view('showmessage',$arrParams); } public function forgotlanding(Request $request){ $clave = $request->input('clave'); $arrParams = array("codigo"=>$clave); $oForgot = Forgot::where('codigo','=',$clave)->first(); if(!empty($oForgot)){ return view('forgot_password',$arrParams); }else{ $arrParams['mensaje']="ERROR. ";
104
} return view('showmessage',$arrParams); } public function forgotlandingprocess(Request $request){ $clave = $request->input('codigo'); $pass = $request->input('password'); $arrParams = array(); $oForgot = Forgot::where('codigo','=',$clave)->first(); if(!empty($oForgot)){ $oForgot->delete(); $arrParams['mensaje']="Registrado con exito. "; $oUser = User::find($oForgot->id_user); $oUser->password=Hash::make($pass); $oUser->save(); }else{ $arrParams['mensaje']="ERROR. "; } return view('showmessage',$arrParams); } } <?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Hash; use App\User; use App\Mascotas; use App\Citas; use App\Historial; use App\Mensajes; use Illuminate\Http\Request; use Symfony\Component\Process\Process; class HomeController extends Controller { /* |-------------------------------------------------------------------------- | Home Controller |-------------------------------------------------------------------------- | | This controller renders your application's "dashboard" for users that | are authenticated. Of course, you are free to change or remove the
105
| controller as you wish. It is just here to get your app started! | */ /** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware('auth'); } /** * Show the application dashboard to the user. * * @return Response */ public function index() { $iRand = random_int ( 0 , 2); $arrImagenes = ["img/cat.png","img/chi.jpg","img/muco.png"]; $arrParams["imagen"] = $arrImagenes[$iRand]; return view('indice',$arrParams); } //FUNCIONES PARA USUARIOS public function lista_usuarios(){ $arrUsuarios = User::get()->toArray(); $arrParams['usuarios'] = $arrUsuarios; return view('lista_usuarios',$arrParams); } public function nuevo_usuario(Request $request){ $arrParams = array(); $arrParams["name"] = ""; $arrParams["username"] = ""; $arrParams["email"] = ""; $arrParams["telefono"] = ""; $arrParams["direccion"] = ""; $arrParams["rol"] = ""; $arrParams["id"] = ""; return view('usuario',$arrParams); }
106
public function editar_usuario(Request $request){ $id = $request->input('id'); $oUsuario = User::find($id); $arrParams["name"] = $oUsuario->name; $arrParams["username"] = $oUsuario->username; $arrParams["email"] = $oUsuario->email; $arrParams["telefono"] = $oUsuario->telefono; $arrParams["direccion"] = $oUsuario->direccion; $arrParams["rol"] = $oUsuario->rol; $arrParams["id"] = $id; return view('usuario',$arrParams); } public function save_usuario(Request $request){ $id = $request->input('id'); if(!empty($id)) $oUsuario = User::find($id); else $oUsuario = new User(); $oUsuario->name = $request->input('name'); $oUsuario->username = $request->input('username'); $oUsuario->email = $request->input('email'); $oUsuario->telefono = $request->input('telefono'); $oUsuario->direccion = $request->input('direccion'); $oUsuario->rol = $request->input('rol'); $oUsuario->estado = 'A'; $pass = $request->input('password'); if(!empty($pass)){ $oUsuario->password =Hash::make($pass); } $oUsuario->save(); return redirect('/lista_usuarios'); } //FUNCIONES PARA MASCOTAS public function registro_mascotas(Request $request){ $arrParams = array(); $oMascotas = Mascotas::where('id_user','=',Auth::user()->id)->get(); $arrTmp = array(); foreach($oMascotas as $oMascota){ $arrTmp[$oMascota->id] = ["id"=>$oMascota->id,"Nombre"=>$oMascota->nombre,"Tipo"=>$oMascota->tipo,"Edad"=>$this->calculaEdad($oMascota->fecha_nacimiento),"FechaNacimiento"=>$oMascota->fecha_nacimiento]; }
107
$arrParams["mascotas"]=$arrTmp; return view ("lista_mascotas",$arrParams); } public function nueva_mascota(Request $request){ $arrParams = array(); $arrParams["nombre"] = ""; $arrParams["tipo"] = ""; $arrParams["fecha_nacimiento"] = ""; $arrParams["sexo"] = ""; $arrParams["peso"] = ""; $arrParams["observaciones"] = ""; $arrParams["id"] = ""; $arrUsuarios = User::orderBy("name","asc")->get()->toArray(); $arrParams['usuarios'] = $arrUsuarios; return view('mascota',$arrParams); } public function editar_mascota(Request $request){ $id = $request->input('id'); $oMascota = Mascotas::find($id); $arrParams = array(); $arrParams["nombre"] = $oMascota->nombre; $arrParams["tipo"] = $oMascota->tipo; $arrParams["fecha_nacimiento"] = $oMascota->fecha_nacimiento; $arrParams["sexo"] = $oMascota->sexo; $arrParams["peso"] = $oMascota->peso; $arrParams["observaciones"] = $oMascota->observaciones; $arrParams["id"] = $oMascota->id; $arrUsuarios = User::orderBy("name","asc")->get()->toArray(); $arrParams['usuarios'] = $arrUsuarios; return view('mascota',$arrParams); } public function procesar_mascota(Request $request){ $mascota_propia = $request->input('mascota_propia'); $id_user = Auth::user()->id; if($mascota_propia=='Propia'){ $id_user = Auth::user()->id; }else if($mascota_propia=='Nuevo'){ $oUsuario = new User(); $oUsuario->name = $request->input('name'); $oUsuario->username = $request->input('username'); $oUsuario->email = $request->input('username'); $oUsuario->telefono = $request->input('telefono');
108
$oUsuario->direccion = $request->input('direccion'); $oUsuario->rol = "usuario"; $oUsuario->estado = 'A'; $pass = $request->input('password'); $oUsuario->password = Hash::make($pass); $oUsuario->save(); $id_user = $oUsuario->id; }else if($mascota_propia=='Existente'){ $id_user = $request->input("id_user"); } $id = $request->input('id'); if(!empty($id)) $oMascota = Mascotas::find($id); else $oMascota = new Mascotas(); $oMascota->nombre = $request->input('nombre'); $oMascota->tipo = $request->input('tipo'); $oMascota->fecha_nacimiento = $request->input('fecha_nacimiento'); $oMascota->sexo = $request->input('sexo'); $oMascota->peso = $request->input('peso'); $oMascota->observaciones = $request->input('observaciones'); $oMascota->id_user = $id_user; $oMascota->save(); return redirect('/registro_mascotas'); } //FUNCIONES PARA CITAS public function citas(Request $request){ $arrParams = array(); if(Auth::user()->rol == 'admin') $oCitas = Citas::where('fecha_cita','>=',DB::raw('date(now())'))->get(); else{ $oCitas = Citas::join('mascotas','mascotas.id','=','citas.id_mascota') ->where('mascotas.id_user','=',Auth::user()->id) ->select(["citas.*"]) ->distinct() ->get(); } $arrTmp = array(); foreach($oCitas as $oCita){ $oMascota = Mascotas::find($oCita->id_mascota); $oUsuario = User::find($oMascota->id_user); $arrTmp[$oCita->id] = ["id"=>$oCita->id, "Fecha"=>$oCita->fecha_cita, "Cliente"=>$oUsuario->name,
109
"Mascota"=>$oMascota->nombre, "Tipo"=>$oMascota->tipo, "Estado"=>($oCita->estado=='RECHAZADA'?$oCita->estado."<br>Propuesta:".$oCita->fecha_propuesta:$oCita->estado), "Motivo"=>$oCita->motivo]; } $arrParams["citas"]=$arrTmp; return view ("listado_citas",$arrParams); } public function nueva_cita(Request $request){ $arrMascotas = Mascotas::obtenerMascotasUser(); $arrParams = array(); $arrParams["fecha"] = ""; $arrParams["mascotas"] = $arrMascotas; $arrParams["mascota"] = ""; $arrParams["motivo"] = ""; $arrParams["id"] = ""; return view('cita',$arrParams); } public function procesar_cita(Request $request){ $oCita = new Citas(); $oCita->fecha_cita = $request->input('fecha'); $oCita->id_mascota = $request->input('mascota'); $oCita->motivo = $request->input('motivo'); $oCita->estado = 'PENDIENTE'; $oCita->save(); return redirect('/citas'); } public function aceptar_cita(Request $request){ $id = $request->input('id'); $oCita = Citas::find($id); $oCita->estado = 'CONFIRMADA'; $oCita->save(); $oMascota = Mascotas::find($oCita->id_mascota); $oUser = User::find($oMascota->id_user); $this->enviarMail("Su cita para {$oMascota->nombre} en la fecha {$oCita->fecha_cita} ha sido confirmada","Cita Confirmada",$oUser->email); return redirect('/citas'); } public function rechazar_cita(Request $request){ $id = $request->input('id'); $oCita = Citas::find($id); $arrParams["id"] = $id; $arrParams["fecha_propuesta"] = $oCita->fecha_cita;
110
return view('cita_rechazada',$arrParams); } public function procesar_rechazar_cita(Request $request){ $id = $request->input('id'); $fecha_propuesta = $request->input('fecha_propuesta'); $oCita = Citas::find($id); $oCita->estado = 'RECHAZADA'; $oCita->fecha_propuesta = $fecha_propuesta; $oCita->save(); $oMascota = Mascotas::find($oCita->id_mascota); $oUser = User::find($oMascota->id_user); $this->enviarMail("Su cita para {$oMascota->nombre} en la fecha {$oCita->fecha_cita} ha sido rechazada, por favor agendar su cita en una fecha distinta. Fecha propuesta: {$oCita->fecha_propuesta}","Cita Rechazada",$oUser->email); return redirect('/citas'); } public function cancelar_cita(Request $request){ $id = $request->input('id'); $oCita = Citas::find($id); if($oCita->estado =='CONFIRMADA'){ $oMascota = Mascotas::find($oCita->id_mascota); $this->enviarMail("La cita para {$oMascota->nombre} en la fecha {$oCita->fecha_cita} ha sido cancelada.","Cita Cancelada",\Config::get('mail.adminmail')); } $oCita->estado = 'CANCELADA'; $oCita->save(); return redirect('/citas'); } //FUNCIONES PARA HISTORIAL public function historial(Request $request){ $arrParams = array(); if(Auth::user()->rol == 'admin'){ $id_user = $request->input("id"); if(empty($id_user)){ $oUsers = User::join('mascotas','mascotas.id_user', '=', 'users.id')->select(["users.*"])->distinct()->orderBy("users.name",'asc')->get(); $arrParams["usuarios"] = $oUsers; return view ("escoger_usuario",$arrParams); } $id_mascota = $request->input("id_mascota"); if(empty($id_mascota)){ $oMascotas = Mascotas::where('id_user','=',$id_user)->get();
111
$arrParams["mascotas"] = $oMascotas; return view ("escoger_mascota",$arrParams); } $oCitas = Historial::where('id_mascota','=',$id_mascota)->get(); } else{ $id_mascota = $request->input("id_mascota"); if(empty($id_mascota)){ $oMascotas = Mascotas::where('id_user','=',Auth::user()->id)->get(); $arrParams["mascotas"] = $oMascotas; return view ("escoger_mascota",$arrParams); } $oCitas = Historial::where('id_mascota','=',$id_mascota)->get(); } $arrTmp = array(); foreach($oCitas as $oCita){ $oMascota = Mascotas::find($oCita->id_mascota); $oUsuario = User::find($oMascota->id_user); $arrTmp[$oCita->id] = ["id"=>$oCita->id, "Fecha"=>$oCita->fecha, "Cliente"=>$oUsuario->name, "Mascota"=>$oMascota->nombre, "Tipo"=>$oMascota->tipo, "Motivo"=>$oCita->descripcion]; } $arrParams["citas"]=$arrTmp; return view ("historial",$arrParams); } //FUNCIONES PARA MI USUARIO public function mi_usuario(Request $request){ $id = Auth::user()->id; $oUsuario = User::find($id); $arrParams["name"] = $oUsuario->name; $arrParams["username"] = $oUsuario->username; $arrParams["email"] = $oUsuario->email; $arrParams["direccion"] = $oUsuario->direccion; $arrParams["telefono"] = $oUsuario->telefono; $arrParams["rol"] = $oUsuario->rol; $arrParams["id"] = $id; return view('mi_usuario',$arrParams);
112
} public function procesar_usuario(Request $request){ $id = $request->input('id'); if(!empty($id)) $oUsuario = User::find($id); else $oUsuario = new User(); $oUsuario->name = $request->input('name'); $oUsuario->telefono = $request->input('telefono'); $oUsuario->direccion = $request->input('direccion'); $pass = $request->input('password'); if(!empty($pass)){ $oUsuario->password =Hash::make($pass); } $oUsuario->save(); return redirect('/principal'); } //FUNCIONES PARA MENSAJERIA public function chat(Request $request){ /*$arrParams = array("id"=>""); if(Auth::user()->rol == 'admin'){ $id_user = $request->input("id"); if(empty($id_user)){ $oUsers = User::join('mensajes', function ($join) { $join->on('mensajes.id_user_origen', '=', 'users.id')->orOn('mensajes.id_user_destino', '=', 'users.id'); })->select(["users.*"])->distinct()->orderBy("mensajes.created_at",'desc')->get(); $arrParams["usuarios"] = $oUsers; return view ("escoger_usuario_chat",$arrParams); } $arrParams["id"]=$id_user; $oMensajes = Mensajes::where('id_user_origen','=',$id_user)->orWhere('id_user_destino','=',$id_user)->orderBy('created_at','desc')->take(30)->get(); } else{ $arrParams["id"]="-1"; $id_user = Auth::user()->id; $oMensajes = Mensajes::where('id_user_origen','=',$id_user)->orWhere('id_user_destino','=',$id_user)->orderBy('created_at','desc')->take(30)->get(); }
113
$arrTmp = array(); foreach($oMensajes as $oMensaje){ $oUsuario = User::find($oMensaje->id_user_origen); $arrTmp[$oMensaje->id] = ["id"=>$oMensaje->id, "Fecha"=>$oMensaje->created_at, "Usuario"=>$oUsuario->name, "Mensaje"=>$oMensaje->mensaje, "Estado"=>$oMensaje->estado]; } $arrParams["mensajes"]=$arrTmp; return view ("chat",$arrParams);*/ $arrParams = array("id"=>""); if(Auth::user()->rol == 'admin'){ $oMensajes = Mensajes::orderBy('created_at','desc')->take(100)->get(); } else{ $arrParams["id"]="-1"; $id_user = Auth::user()->id; $oMensajes = Mensajes::where('id_user_origen','=',$id_user)->orderBy('created_at','desc')->take(100)->get(); } $arrTmp = array(); foreach($oMensajes as $oMensaje){ $oUsuario = User::find($oMensaje->id_user_origen); $arrTmp[$oMensaje->id] = ["id"=>$oMensaje->id, "Fecha"=>$oMensaje->created_at, "Usuario"=>$oUsuario->name, "Respuesta"=>$oMensaje->respuesta, "Mensaje"=>$oMensaje->mensaje, "Estado"=>$oMensaje->estado]; } $arrParams["mensajes"]=$arrTmp; return view ("chat_lista",$arrParams); } public function nueva_consulta(Request $request){ return view ("nueva_consulta",$arrParams); } public function envia_consulta(Request $request){ $mensaje = $request->input('mensaje'); if(empty($mensaje)) return redirect('/chat?id='.$id);
114
$oMensaje = new Mensajes(); $oMensaje->id_user_origen = Auth::user()->id; $oMensaje->id_user_destino = "-1"; $oMensaje->mensaje = $mensaje; $oMensaje->save(); return redirect('/chat'); } public function respuesta_consulta(Request $request){ $id = $request->input('id'); $oMensaje = Mensajes::find($id); $id_user = $oMensaje->id_user_origen; $oMensajes = Mensajes::where('id_user_origen','=',$id_user)->orderBy('created_at','desc')->take(100)->get(); $arrParams['mensajes'] = $oMensajes; $arrParams['mensaje'] = $oMensaje; $arrParams['id'] = $id; return view ("respuesta_consulta",$arrParams); } public function envia_respuesta_consulta(Request $request){ $id = $request->input('id'); $respuesta = $request->input('mensaje'); if(empty($id)) return redirect('/chat'); if(empty($respuesta)) return redirect('/respuesta_consulta?id='.$id); $oMensaje = Mensajes::find($id); $oMensaje->id_user_destino = Auth::user()->id; $oMensaje->respuesta = $respuesta; $oMensaje->save(); return redirect('/chat'); } public function enviar_mensaje(Request $request){ $id = $request->input('id'); $mensaje = $request->input('mensaje'); if(empty($id)) return redirect('/chat'); if(empty($mensaje)) return redirect('/chat?id='.$id); $oMensaje = new Mensajes(); $oMensaje->id_user_origen = Auth::user()->id; $oMensaje->id_user_destino = $id;
115
$oMensaje->mensaje = $mensaje; $oMensaje->save(); return redirect('/chat?id='.$id); } //FUNCIONES PARA ATENCION public function atencion(Request $request){ $arrParams = array(); $oCitas = Citas::where('fecha_cita','>=',DB::raw('date(now())'))->whereIn("estado",['CONFIRMADA','ATENDIDA'])->get(); $arrTmp = array(); foreach($oCitas as $oCita){ $oMascota = Mascotas::find($oCita->id_mascota); $oUsuario = User::find($oMascota->id_user); $arrTmp[$oCita->id] = ["id"=>$oCita->id, "Fecha"=>$oCita->fecha_cita, "Cliente"=>$oUsuario->name, "Telefono"=>$oUsuario->telefono, "Mascota"=>$oMascota->nombre, "Tipo"=>$oMascota->tipo, "Edad"=>$this->calculaEdad($oMascota->fecha_nacimiento), "Estado"=>$oCita->estado, "Motivo"=>$oCita->motivo]; } $arrParams["citas"]=$arrTmp; return view ("atencion",$arrParams); } public function atender_cita(Request $request){ $idCita = $request->input("id"); $oHistorial = Historial::where('id_cita','=',$idCita)->first(); $arrParams = array(); if(empty($oHistorial)){ $arrParams["id"] = $idCita; $arrParams["descripcion"] = ""; $arrParams["procedimiento"] = ""; }else{ $arrParams["id"] = $idCita; $arrParams["descripcion"] = $oHistorial->descripcion; $arrParams["procedimiento"] = $oHistorial->procedimiento; } $oCita = Citas::find($idCita); $oMascota = Mascotas::find($oCita->id_mascota); $arrParams["id_user"] = $oMascota->id_user; $arrParams["id_mascota"] = $oMascota->id;
116
return view('atender_cita',$arrParams); } public function procesar_atencion(Request $request){ $idCita = $request->input("id"); $sProcedimiento = $request->input("procedimiento"); $oCita = Citas::find($idCita); $oHistorial = Historial::where('id_cita','=',$idCita)->first(); if(empty($oHistorial)) $oHistorial = new Historial(); $oHistorial->id_mascota = $oCita->id_mascota; $oHistorial->id_cita = $idCita; $oHistorial->procedimiento = $sProcedimiento; $oHistorial->fecha = date('Y-m-d'); $oHistorial->descripcion = $request->input("descripcion"); $oHistorial->save(); $oCita->estado = "ATENDIDA"; $oCita->procedimiento = $sProcedimiento; $oCita->save(); return redirect("/atencion"); } public function reporte_detallado(Request $request){ $oCitas = Historial::orderBy('fecha','desc'); $fecha_ini = $request->input("fecha_ini"); $fecha_fin = $request->input("fecha_fin"); $procedimiento = $request->input("procedimiento"); $empty = true; if(!empty($fecha_ini)){ $oCitas = $oCitas->where('fecha','>=',$fecha_ini); $empty = false; } if(!empty($fecha_fin)){ $oCitas = $oCitas->where('fecha','<=',$fecha_fin); $empty = false; } if(!empty($procedimiento)){ $oCitas = $oCitas->where('procedimiento','=',$procedimiento); $empty = false; } if($empty){ $oCitas = $oCitas->take(50); } $oCitas = $oCitas->get();
117
$arrTmp = array(); foreach($oCitas as $oCita){ $oMascota = Mascotas::find($oCita->id_mascota); $oUsuario = User::find($oMascota->id_user); $arrTmp[$oCita->id] = ["id"=>$oCita->id, "fecha"=>$oCita->fecha, "cliente"=>$oUsuario->name, "usuario"=>$oUsuario->username, "mascota"=>$oMascota->nombre, "tipo"=>$oMascota->tipo, "detalle"=>$oCita->descripcion, "detalle"=>$oCita->descripcion, "procedimiento"=>$oCita->procedimiento ]; } $arrParams["data"]=$arrTmp; $arrParams["fecha_ini"]=$fecha_ini; $arrParams["fecha_fin"]=$fecha_fin; $arrParams["procedimiento"]=$procedimiento; return view ("reporte_detallado",$arrParams); } public function reporte_condensado(Request $request){ $oCitas = Historial::orderBy('fecha','desc'); $fecha_ini = $request->input("fecha_ini"); $fecha_fin = $request->input("fecha_fin"); $empty = true; $sWhere = ""; if(!empty($fecha_ini)){ $sWhere .= "AND fecha>='$fecha_ini'"; } if(!empty($fecha_fin)){ $sWhere .= "AND fecha<='$fecha_fin'"; } $oCitas = DB::select( DB::raw("SELECT h.procedimiento,m.tipo,count(*) as cantidad FROM historial h join mascotas m on (m.id = h.id_mascota) join users u on (u.id = m.id_user) WHERE 1=1 $sWhere group by tipo,procedimiento") ); $arrTmp = array(); foreach($oCitas as $oCita){ $arrTmp[] = ["tipo"=>$oCita->tipo,"procedimiento"=>$oCita->procedimiento,"color"=>$this->rand_color(), "cantidad"=>$oCita->cantidad]; }
118
$arrParams["data"]=$arrTmp; $arrParams["fecha_ini"]=$fecha_ini; $arrParams["fecha_fin"]=$fecha_fin; return view ("reporte_condensado",$arrParams); } public function lista_full_mascotas(Request $request){ $arrParams = array(); $id_user = $request->input("id_user"); $oMascotas = Mascotas::where('id_user','=',$id_user)->get(); $arrTmp = array(); foreach($oMascotas as $oMascota){ $arrTmp[$oMascota->id] = ["id"=>$oMascota->id,"Nombre"=>$oMascota->nombre,"Tipo"=>$oMascota->tipo,"Edad"=>$this->calculaEdad($oMascota->fecha_nacimiento),"FechaNacimiento"=>$oMascota->fecha_nacimiento,"id_user"=>$oMascota->id_user]; } $arrParams["mascotas"]=$arrTmp; $arrUsuarios = User::orderBy("name","asc")->get()->toArray(); $arrParams["usuarios"] = $arrUsuarios; return view ("lista_full_mascotas",$arrParams); } public function atender_mascota(Request $request){ $arrParams["descripcion"] = ""; $arrParams["procedimiento"] = ""; $arrParams["id_user"] = $request->input('id_user'); $arrParams["id_mascota"] = $request->input('id_mascota'); return view('atender_mascota',$arrParams); } public function procesar_atender_mascota(Request $request){ $sProcedimiento = $request->input("procedimiento"); $oCita = new Citas(); $oCita->fecha_cita = date('Y-m-d H:i'); $oCita->id_mascota = $request->input('id'); $oCita->motivo = $request->input('descripcion'); $oCita->estado = 'ATENDIDA'; $oCita->procedimiento = $sProcedimiento; $oCita->save(); $idCita = $oCita->id; $oHistorial = new Historial(); $oHistorial->id_mascota = $oCita->id_mascota; $oHistorial->id_cita = $idCita; $oHistorial->procedimiento = $sProcedimiento;
119
$oHistorial->fecha = date('Y-m-d'); $oHistorial->descripcion = $request->input("descripcion"); $oHistorial->save(); return redirect("/atencion"); } //Funciones Generales public function enviarMail($body,$subject,$to){ //Se envia el mail $mail = new \PHPMailer(true); // notice the \ you have to use root namespace here try { //$mail->isSMTP(); // tell to use smtp $mail->isSendMail();//SMTP 1and1 //isSendMail $mail->SMTPDebug = 2; $mail->CharSet = "utf-8"; // set charset to utf8 $mail->SMTPAuth = true; // use smpt auth $mail->SMTPSecure = \Config::get('mail.encryption');//"tls"; // or ssl $mail->Host = \Config::get('mail.host');//"smtp.gmail.com"; $mail->Port = \Config::get('mail.port');//587; $mail->Username = \Config::get('mail.username'); $mail->Password = \Config::get('mail.password'); $mail->setFrom(\Config::get('mail.from')['address'],\Config::get('mail.from')['name']); $mail->Subject = $subject; $mail->MsgHTML($body); $mail->addAddress($to); $mail->send(); } catch (phpmailerException $e) { print_r($e); } catch (\Exception $e) { print_r($e); } } public function getFile(Request $request){ $path = storage_path(); return response()->download($path.'/exports/'. $request->file,$request->file, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); } public function calculaEdad($fecha_nacimiento){ $date2 = date('Y-m-d');//
120
$diff = abs(strtotime($date2) - strtotime($fecha_nacimiento)); $years = floor($diff / (365*60*60*24)); $months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24)); $days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24)); //return array("years"=>$years,"months"=>$months); return "$years años y $months meses"; } public function rand_color() { return sprintf('#%06X', mt_rand(0, 0xFFFFFF)); } }