Está en la página 1de 47

FORTALECIMIENTO DEL FRONTEND Y

BACKEND DEL SITIO WEB


WWW.VENDETUCARROYA.COM.CO

Proyecto de grado
Modalidad de grado: Pasantía

Autor
Joan Sebastian Aranda Balaguera

Tutor
Roberto Ferro Escobar
Ingeniero Electrónico

Universidad Distrital Francisco José De Caldas


Pregrado en Ingeniería Electrónica
Bogotá, Colombia
agosto de 2018
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

Página | 2
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

CONTENIDO

1. INTRODUCCIÓN ............................................................................................................ 5

2. PLANTEAMIENTO DEL PROBLEMA ............................................................................ 7

3. OBJETIVOS .................................................................................................................. 10

3.1 OBJETIVO GENERAL ........................................................................................... 10

3.2 OBJETIVOS ESPECÍFICOS ................................................................................. 10

4. JUSTIFICACIÓN ........................................................................................................... 11

5. MARCO TEÓRICO ....................................................................................................... 12

5.1 DESARROLLO WEB ............................................................................................. 12

5.2 ETAPAS DE UN DESARROLLO........................................................................... 13

5.3 MODELO MVC ...................................................................................................... 15

5.3.1 Capa de modelo ............................................................................................. 15

5.3.2 Capa de la vista .............................................................................................. 16

5.3.3 Capa del controlador ...................................................................................... 16

5.4 BASES DE DATOS................................................................................................ 17

5.4.1 Características de las bases de datos ........................................................... 17

5.4.2 Ventajas de las bases de datos ..................................................................... 18

5.4.3 Desventajas de las bases de datos ............................................................... 20

5.4.4 Tipos de Base de Datos ................................................................................. 20

5.4.5 Modelo entidad-relación ................................................................................. 21

5.5 FIREWALL ............................................................................................................. 21

5.5.1 Funcionamiento del firewall ............................................................................ 21

5.5.2 Tipos de firewall .............................................................................................. 22

Página | 3
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

5.5.3 Importancia de un firewall .............................................................................. 23

5.6 DIRECTORIO ACTIVO .......................................................................................... 24

6. DESARROLLO DEL PROYECTO ................................................................................ 26

6.1 FASE I: DISEÑO Y ESTRUCTURACIÓN DE BASES DE DATOS Y MIGRACIÓN


LOCAL A QA. .................................................................................................................... 26

6.2 FASE II: CREACIÓN DEL MÓDULO SOY VENDEDOR, CRONJOBS Y SCRIPTS
DE PRECIOS .................................................................................................................... 28

6.3 FASE III: CREACIÓN DE LA INTRANET.............................................................. 31

6.3.1 Recibidor ......................................................................................................... 32

6.3.2 Documentador ................................................................................................ 34

6.3.3 Peritaje ............................................................................................................ 35

6.3.4 Negociador ..................................................................................................... 36

6.4 FASE IV: CREACIÓN DEL MODULO DE CONCESIONARIO ............................ 37

6.4.1 Detalles de carro ............................................................................................ 37

6.4.2 Ofertar ............................................................................................................. 39

6.5 FASE V: INSTALACIÓN DEL DIRECTORIO ACTIVO ......................................... 40

6.6 FASE VI: INSTALACIÓN DEL FIREWALL ........................................................... 41

7. ANÁLISIS DE RESULTADOS ...................................................................................... 42

8. TRABAJOS FUTUROS ................................................................................................. 43

9. CONCLUSIONES.......................................................................................................... 44

10. BIBLIOGRAFíA .......................................................................................................... 45

ANEXOS ............................................................................................................................... 47

Página | 4
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

1. INTRODUCCIÓN

Las TIC (Tecnologías de la información y la comunicación) han permitido en Colombia el


desarrollo de nuevas tecnologías, otorgando la oportunidad a los ingenieros electrónicos de
utilizar concretamente en el campo laboral los conocimientos obtenidos en el pregrado.

La época actual pone en evidencia un sin número de oportunidades de negocios y de


mercados que tienen como fuente principal el E- Bussines. Una economía innovadora con
un enfoque especial que está siendo implementada por algunas empresas que tienen como
objetivo utilizar el avance tecnológico y el conocimiento para ponerlos al servicio de la
administración de la información, un tema trascendente para las compañías puesto que
impacta positivamente los sectores de emprendimiento. El buen manejo de la información
permite un crecimiento exponencial de las empresas que termina generando
reconocimiento en el sector tanto por sus competidores como por los consumidores.

El desarrollo tecnológico actual ha generado cambios drásticos que han impacto no


solamente las relaciones interpersonales, pero adicionalmente ha dado permitido la
aparición de la economía de la información, la economía digital constituyendo de esta forma
una sociedad del conocimiento. La convergencia de múltiples aplicaciones y aparatos que
permiten la conexión y el acceso a diversas formas de intercambio de mercancías establece
nuevas formas de relacionarse entre empresas, consumidores, empleados y
administradores.

El fenómeno de globalización actual permite pensar que a pesar del impacto positivo que
puede generar las nuevas tecnologías de información y comunicación a nivel social y
económico es indiscutible que los riesgos que crea sobre la protección de datos son
directamente proporcionales a la extensión de los mercados. Por lo cual se hace necesario
no solamente un desarrollo tecnológico que facilité el intercambio de bienes y servicio, sino
que al mismo tiempo salvaguardé la privacidad de los intervinientes en la cadena de
consumo y venta. Es por ello que el presente proyecto tenía como eje principal la inclusión
del concepto de seguridad informática en los procesos de desarrollo de web.

Página | 5
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

La aplicación desarrollada permite el correcto transporte, almacenamiento y proceso de la


información perteneciente a los usuarios lo que permite una relación más dinámica y segura
entre el vendedor y consumidor del producto. Es necesario advertir que la novedad del
proyecto consiste en el desplazamiento de un mercado históricamente estático, como es el
del concesionario, hacia una plataforma virtual que reduce costos para aquellos que
intervienen en la compra y venta, no solo a nivel económico sino además en términos de
tiempo y disposición de recursos.

Página | 6
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

2. PLANTEAMIENTO DEL PROBLEMA

La empresa Vende tu carro ya SAS, es un concesionario virtual el cual ofrece una


plataforma para venta y compra de carros usados en Colombia, inicialmente operará en la
ciudad de Bogotá, pero se extenderá a las principales ciudades del país como Medellín,
Cali, Barranquilla, Cartagena entre otros. Para ello Vende tu carro ya SAS ofrecerá a los
clientes que se registren en la plataforma y que quieran vender su vehículo, un peritaje
gratuito en el punto de venta.

El proceso para la venta de carros es el siguiente: En primer lugar, los clientes se registran
en el home del sitio web y reservan una cita en el punto de venta deseado. En segundo
lugar, una vez el cliente se acerque al punto escogido para la venta de su vehículo, se
realizará un proceso de peritaje, el cual consiste en toma de fotos del vehículo que serán
cargadas a la plataforma del sitio web con un tiempo predeterminado que va a durar la data.
Ya en la plataforma de compra de vehículos, los compradores, previamente registrados en
la plataforma, acceden a la información del carro que ha sido subido en la plataforma y
posterior a este proceso proseguirán a realizar la oferta por el vehículo.

Finalmente, cuando el tiempo de subasta se agote, el vehículo del cliente y teniendo en


cuenta el resultado de la subasta, Vende tu carro ya SAS procede a negociar con el cliente,
haciendo una intermediación con el objetivo de que se realice la transacción entre el cliente
y el comprador por el valor ofertado en la plataforma.

Por ello la plataforma va a contar con tres entornos:

- Vendedor: Denominado así al sitio principal http://www.vendetucarroya.com.co. A


través de este entorno los clientes se registrarán. Adicionalmente en este espacio
se encontrará la información de Vende tu carro ya SAS acerca de la política e
imagen corporativa, y se encontrará el espacio donde los clientes pueden
contactarse con la empresa.

Página | 7
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

- Comprador: Denominado al subdominio del sitio web


http://concesionario.vendetucaroya.com.co, será el Backend de los compradores
donde los carros se postearán y mediante el cual los compradores harán sus ofertas,
en sus respectivas sesiones, de tal manera que cada comprador contará con un
perfil dependiendo del tipo de comprador y se contemplará capacidad de oferta,
cantidad de carros, y demás.

- Corporativo: Denominado al subdominio corporativo, a través del cual se crearán


las personas, empresas, se mostrará el módulo de peritaje, documentación del
vehículo, negociación del vehículo, entre otros. Se hace necesario mencionar que
este entorno contará con una seguridad extra ya que allí será guardad la información
tanto de clientes, como de compradores y empleados. Por tal motivo, es esencial la
seguridad, como el cargue de data en los servidores y el backups de esta data.

Lo anterior es el proceso que realiza la plataforma del sitio web. Para ello el proyecto a
implementar dentro de la empresa consta de tres aspectos fundamentales:

1. Creación de las plataformas: Se creará en un entorno de Frontend, Backend y base


de datos. El sistema debe ser robusto, dinámico y automatizado para los procesos
como el agendamiento de cita, documentación de vehículo, peritaje del vehículo, el
Backend del comprador y negociación del cliente. Para realizar este desarrollo se
utilizará elementos como PHP, JavaScript, Ajax, JSON, MySQL, mediante
programación orientada de objetos, por la tanto, se crearán objetos con sus
atributos, y se utilizarán sus métodos, constructores, herencia, entre otros dentro de
la estructura de la plataforma del sitio web. Todo esto se integrarán y en conjunto
trabajarán mediante CMS (Sistema de gestión de contenidos). Para el sitio web se
utilizará WordPress y se utilizará el framework CodeIgniter para el desarrollo del
entorno corporativo, utilizando el modelo MVC (Modelo - Vista - Controlador), que
facilita el desarrollo y mantenimiento al separar componentes. Como adicional y
crear la automatización de algunas tareas mediante Shell script, en los terminales
Linux del proveedor de hosting de la empresa.

Página | 8
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

2. Gestión de usuario corporativos: Mediante el uso de un directorio activos, Open


LDAP, se realiza la gestión y el control de los usuarios en la red. También permite
hacer el control de los correos corporativos, que, aunque se puede utilizar webmail
dado por el proveedor de hosting de la empresa, se realiza mediante el directorio
activo.
3. Seguridad de la plataforma con firewall: En la seguridad se establecerán dos tipos
uno mediante software y otra física a través de un router, creando listas negras de
acceso tanto para IP como para MAC. El software a utilizar es el de Iptables, de
código libre.

Página | 9
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

3. OBJETIVOS

3.1 OBJETIVO GENERAL

 Creación, gestión y seguridad de la plataforma del sitio web


www.vendetucarroya.com.co a través de desarrollo en Frontend y Backend,
usando herramientas de programación web como PHP, JavaScript, JQuery,
Ajax, MySQL JSON. La gestión de la plataforma se hará mediante directorio
activo de software libre, y para la seguridad se implementará firewall lógico y
físico.

3.2 OBJETIVOS ESPECÍFICOS

 Diseñar y crear la estructura de bases de datos para la plataforma web del sitio
www.vendetucarroya.com.co.
 Implementar un firewall físico, mediante un router o switch, que permita tener
realizar la gestión de acceso a la plataforma a través de direcciones IP y MAC
autorizadas.
 Realizar backups de la plataforma web de manera semanal, llevar registro y
crear copias magnéticas de esta data.
 Garantizar que el funcionamiento del servidor web este siempre disponible.
 Desarrollar funciones web especificadas por la empresa en el framework
CodeIgniter.
 Crear Shell Scripts de ejecución en tiempo real (Cronjobs) que permitan hacer
cambio de estado en los registros de manera automática, estos Cronjobs se
ejecutarán en los tres escenarios descritos.
 Gestionar los correos de los usuarios mediante el uso del directorio activo.

Página | 10
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

4. JUSTIFICACIÓN

Justificación Teórica: La creación de la plataforma de la empresa Vende tu carro ya SAS,


tiene como objetivo hacer un sistema dinámico, robusto y automático. Además de esto
generar nuevos esquemas de diseño a nivel de bases de datos, de tal forma que no exista,
en un futuro, redundancia de data y así mismo permita hacer consultas de una manera más
rápida y armónica, generando una estructura orgánica al diseño de la estructura de la base
de datos. También implementar la seguridad de la plataforma y gestión de los usuarios que
acceden a ella.

Justificación Académica: Teniendo en cuenta los conocimientos adquiridos en la academia


se pretende, a través de la pasantía, adquirir una oportunidad de obtener mayores
aprendizajes y competencias profesionales, mediante los elementos mencionados
anteriormente, los cuales permitirán en un futuro el fortalecimiento como desarrollador.

Justificación Personal: Con base en los estudios realizados durante la carrera de Ingeniería
Electrónica y haciendo énfasis en el área de telemática y la programación orientada objetos
que se usó durante el transcurro de toda la carrera. Se evidencia que es pertinente
fortalecer, proyectar e implementar los conocimientos adquiridos a través de la empresa
Vende tu carro ya SAS.

Página | 11
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

5. MARCO TEÓRICO

5.1 DESARROLLO WEB

El desarrollo web significa construir, diseñar, mantener sitios web o para empresas
plataformas web, que incluye elementos como páginas web, consulta de web services,
consultas a hosting que son pertenecientes a una empresa especifica. Para el desarrollo
web se suele diferenciar en dos aspectos:

Frontend: Son aquellas que se utilizan en el lado Cliente, que se utilizan en los diferentes
dispositivos que utilizados para conectarse con el servidor a través de internet. Esta
tecnologías y lenguajes de programación vienen implementados en los distintos
navegadores web que existen, que son interpretadores de estos códigos. Las tecnologías
más utilizadas en el Frontend son HTML, CSS, JavaScript, jQuery, Ajax, BootStrap,
Angular, etc.

Backend: Son aquellas que se utilizan en el lado Servidor, las que utiliza el Servidor para
realizar gestión de peticiones de información que le llegan y para gestionar las bases de
datos alojadas en los mismos. La información una vez tratada le es devuelta al dispositivo
para que sea visualizada en el dispositivo a través de las tecnologías Frontend. Las
tecnologías más utilizadas en el Backend son PHP, Java, .NET, Phyton, MySQL, etc.

En la realidad tanto el Frontend como el Backend se utilizan conjuntamente en el Desarrollo


de aplicaciones con Tecnologías Web. Para la visualización de las páginas y las
aplicaciones web se realizan mediante:

Hosting (Servidor): Forma más habitual donde se contrata los servicios de una empresa de
hosting la cual se encarga de alojar los servidores del sitio web y/o aplicación. Internet
permite conectarse con el servidor y a través de los navegadores se visualizará el sitio web.

Servidor Local: Se utiliza para entorno de desarrollo y se utiliza una máquina y se conectará
a través de una red local. Al igual que la anterior, se pueden utilizar indistintamente

Página | 12
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

tecnologías Frontend y Backend, pero para ello se necesita un emulador de servidor web
como Apache.

Figura 1. Escenario de un desarrollo web. Fuente: Disseny Producte.

5.2 ETAPAS DE UN DESARROLLO

Las etapas de desarrollo para un proyecto web abarcan diversas especialidades y


departamentos, por lo que seguir un plan estratégico y de ejecución es vital para conseguir
un resultado óptimo. La planificación y la organización permiten que el desarrollo final se
acerque lo más fiel posible al resultado deseado.

I. Briefing (Preparación estratégica)

Es la fase de conocimiento del producto y de la realización de una hoja de ruta que guíe
tanto al cliente como al ejecutor. Detectar el objetivo de negocio y la estrategia idónea
son las bases para que el resto de procesos se realicen adecuadamente.

II. Investigación y planificación

Se realiza la investigación del mercado y de los puntos de partidas, también se tendrá


en cuenta el target a la cual se debe llegar. Dentro de estos elementos se debe tener
en cuenta:

Página | 13
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

 Investigación de tecnologías y competidores (benchmarking)


 Definición de la arquitectura de la información y del layout que forman parte de
la experiencia de usuario.

III. Diseño

Se establece un plan y cronograma a seguir con la información recolectada y cuáles


serán sus puntos fuertes respecto a lo que ofrece el mercado, comienza la fase de
especificación de los estilos. También se determina el diseño visual y de interfaz
(definición de la línea gráfica, identidad corporativa, colores corporativos, entre otros.).

IV. Desarrollo proyecto web desarrollo

Se determina las tecnologías a utilizar dentro del proyecto y cómo se comunicarán y se


tendrán en cuenta los siguientes aspectos:

 Implementación de código en el/los lenguaje/s idóneos


 Diseño de bases de datos
 Marcado semántico, SEO, SEM
 Implementación de contenidos
 Control de calidad (QA) en preproducción

V. Lanzamiento

Después de determinar que el sitio web es totalmente funcional, y se realizan las


pruebas necesarias, esta etapa no solo comprende el lanzamiento del producto al
mercado sino la coordinación entre desarrollo y operaciones, la documentación del
proyecto para traspasos y solución de problemas posteriores, las métricas y análisis de
funcionamiento y el control de calidad (QA) en producción.

VI. Difusión y mantenimiento

Luego de la realización del proyecto en marcha, no significa que un proyecto esté


terminado, ya que para asegurar que disfrute de una larga vida, es necesario darlo a
conocer, analizar sus resultados y ofrecer un servicio técnico y de mejora posterior.

 Campañas de marketing y social media

Página | 14
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

 Reportes de analítica
 Soporte técnico
 Realización de actualizaciones y mejoras
 Test de usuarios en producto final

5.3 MODELO MVC

El MVC o Modelo-Vista-Controlador es un patrón de arquitectura de software que, utilizando


3 componentes (Vistas, Modelos y Controladores) separa la lógica de la aplicación de la
lógica de la vista en una aplicación. Es una arquitectura importante puesto que se utiliza
tanto en componentes gráficos básicos hasta sistemas empresariales; la mayoría de los
frameworks modernos utilizan MVC (o alguna adaptación del MVC) para la arquitectura,
entre ellos podemos mencionar a Ruby on Rails, Django, AngularJS y muchos otros más.

Figura 2. Modelo MVC. Fuente: Código Facilito.

5.3.1 Capa de modelo

El modelo representa la parte de la aplicación que implementa la lógica de negocio, esto


significa que es responsable de la recuperación de datos convirtiéndolos en conceptos
significativos para la aplicación, así como su procesamiento, validación, asociación y
cualquier otra tarea relativa a la manipulación de dichos datos.

Página | 15
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

A primera vista los objetos del modelo pueden ser considerados como la primera capa
de la interacción con cualquier base de datos que podría estar utilizando tu aplicación.
Pero en general representan los principales conceptos en torno a los cuales se desea
implementar un programa.

En el caso de una red social, la capa de modelo se haría cargo de tareas tales como
guardar datos del usuario, el almacenamiento de asociaciones con amigos, el
almacenamiento y la recuperación de fotos de los usuarios, encontrar sugerencias de
nuevos amigos, etc.

5.3.2 Capa de la vista

La vista hace una presentación de los datos del modelo estando separada de los objetos
del modelo. Es responsable del uso de la información de la cual dispone para producir
cualquier interfaz de presentación de cualquier petición que se presente.

Por ejemplo, como la capa de modelo devuelve un conjunto de datos, la vista los usaría
para hacer una página HTML que los contenga. O un resultado con formato XML para
que otras aplicaciones puedan consumir.

La capa de la Vista no se limita únicamente a HTML o texto que represente los datos,
sino que puede ser utilizada para ofrecer una amplia variedad de formatos en función
de sus necesidades tales como videos, música, documentos y cualquier otro formato
que puedas imaginar.

5.3.3 Capa del controlador

La capa del controlador gestiona las peticiones de los usuarios. Es responsable de


responder la información solicitada con la ayuda tanto del modelo como de la vista.

Los controladores pueden ser vistos como administradores cuidando de que todos los
recursos necesarios para completar una tarea se deleguen a los trabajadores más
adecuados. Espera peticiones de los clientes, comprueba su validez de acuerdo a las
normas de autenticación o autorización, delega la búsqueda de datos al modelo y

Página | 16
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

selecciona el tipo de respuesta más adecuado según las preferencias del cliente.
Finalmente delega este proceso de presentación a la capa de la Vista.

5.4 BASES DE DATOS

Una base de datos es una serie de datos organizados y relacionados entre sí, los cuales
son recolectados y explotados por los sistemas de información ya sea una empresa o
negocio en particular.

5.4.1 Características de las bases de datos

Entre las principales características de los sistemas de base de datos están:

 Independencia lógica y física de los datos.


 Redundancia mínima.
 Acceso concurrente por parte de múltiples usuarios.
 Integridad de los datos.
 Consultas complejas optimizadas.
 Seguridad de acceso y auditoría.
 Respaldo y recuperación.
 Acceso a través de lenguajes de programación estándar.
 Sistema de Gestión de Base de Datos (SGBD)

Los Sistemas de Gestión de Base de Datos (DataBase Management System) son un


tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el
usuario y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de
datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta.

Página | 17
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

5.4.2 Ventajas de las bases de datos

Control sobre la redundancia de datos: Los sistemas de ficheros almacenan varias


copias de los mismos datos en ficheros distintos. Esto hace que se desperdicie espacio
de almacenamiento, además de provocar la falta de consistencia de datos. En los
sistemas de bases de datos todos estos ficheros están integrados, por lo que no se
almacenan varias copias de los mismos datos. Sin embargo, en una base de datos no
se puede eliminar la redundancia completamente, ya que en ocasiones es necesaria
para modelar las relaciones entre los datos.

Consistencia de datos: Eliminando o controlando las redundancias de datos se reduce


en gran medida el riesgo de que haya inconsistencias. Si un dato está almacenado una
sola vez, cualquier actualización se debe realizar sólo una vez, y está disponible para
todos los usuarios inmediatamente. Si un dato está duplicado y el sistema conoce esta
redundancia, el propio sistema puede encargarse de garantizar que todas las copias se
mantienen consistentes.

Compartir datos: En los sistemas de ficheros, los ficheros pertenecen a las personas o
a los departamentos que los utilizan. Pero en los sistemas de bases de datos, la base
de datos pertenece a la empresa y puede ser compartida por todos los usuarios que
estén autorizados.

Mantenimiento de estándares: Gracias a la integración es más fácil respetar los


estándares necesarios, tanto los establecidos a nivel de la empresa como los nacionales
e internacionales. Estos estándares pueden establecerse sobre el formato de los datos
para facilitar su intercambio, pueden ser estándares de documentación, procedimientos
de actualización y también reglas de acceso.

Mejora en la integridad de datos: La integridad de la base de datos se refiere a la validez


y la consistencia de los datos almacenados. Normalmente, la integridad se expresa
mediante restricciones o reglas que no se pueden violar. Estas restricciones se pueden
aplicar tanto a los datos, como a sus relaciones, y es el SGBD quien se debe encargar
de mantenerlas.

Página | 18
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

Mejora en la seguridad: La seguridad de la base de datos es la protección de la base


de datos frente a usuarios no autorizados. Sin unas buenas medidas de seguridad, la
integración de datos en los sistemas de bases de datos hace que éstos sean más
vulnerables que en los sistemas de ficheros.

Mejora en la accesibilidad a los datos: Muchos SGBD proporcionan lenguajes de


consultas o generadores de informes que permiten al usuario hacer cualquier tipo de
consulta sobre los datos, sin que sea necesario que un programador escriba una
aplicación que realice tal tarea.

Mejora en la productividad: El SGBD proporciona muchas de las funciones estándar


que el programador necesita escribir en un sistema de ficheros. A nivel básico, el SGBD
proporciona todas las rutinas de manejo de ficheros típicas de los programas de
aplicación. El hecho de disponer de estas funciones permite al programador centrarse
mejor en la función específica requerida por los usuarios, sin tener que preocuparse de
los detalles de implementación de bajo nivel.

Mejora en el mantenimiento: En los sistemas de ficheros, las descripciones de los datos


se encuentran inmersas en los programas de aplicación que los manejan. Esto hace
que los programas sean dependientes de los datos, de modo que un cambio en su
estructura, o un cambio en el modo en que se almacena en disco, requiere cambios
importantes en los programas cuyos datos se ven afectados.

Aumento de la concurrencia: En algunos sistemas de ficheros, si hay varios usuarios


que pueden acceder simultáneamente a un mismo fichero, es posible que el acceso
interfiera entre ellos de modo que se pierda información o se pierda la integridad. La
mayoría de los SGBD gestionan el acceso concurrente a la base de datos y garantizan
que no ocurran problemas de este tipo.

Mejora en los servicios de copias de seguridad: Muchos sistemas de ficheros dejan que
sea el usuario quien proporcione las medidas necesarias para proteger los datos ante
fallos en el sistema o en las aplicaciones. Los usuarios tienen que hacer copias de
seguridad cada día, y si se produce algún fallo, utilizar estas copias para restaurarlos.

Página | 19
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

5.4.3 Desventajas de las bases de datos

Las principales que tienen las bases de datos son las siguientes:

Complejidad: Los SGBD son conjuntos de programas que pueden llegar a ser complejos
con una gran funcionalidad. Es preciso comprender muy bien esta funcionalidad para
poder realizar un buen uso de ellos.

Coste del equipamiento adicional: Tanto el SGBD, como la propia base de datos,
pueden hacer que sea necesario adquirir más espacio de almacenamiento. Además,
para alcanzar las prestaciones deseadas, es posible que sea necesario adquirir una
máquina más grande o una máquina que se dedique solamente al SGBD. Todo esto
hará que la implantación de un sistema de bases de datos sea más cara.

Vulnerable a los fallos: El hecho de que todo esté centralizado en el SGBD hace que el
sistema sea más vulnerable ante los fallos que puedan producirse. Es por ello que
deben tenerse copias de seguridad (Backup).

5.4.4 Tipos de Base de Datos

Entre los diferentes tipos de base de datos, se pueden encontrar los siguientes:

MySQL: es una base de datos con licencia GPL basada en un servidor. Se caracteriza
por su rapidez. No es recomendable usar para grandes volúmenes de datos.

PostgreSQL y Oracle: Son sistemas de base de datos poderosos. Administra muy bien
grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de gran
calibre.

Access: Es una base de datos desarrollada por Microsoft. Esta base de datos, debe ser
creada bajo el programa access, el cual crea un archivo .mdb con la estructura ya
explicada.

Microsoft SQL Server: es una base de datos más potente que access desarrollada por
Microsoft. Se utiliza para manejar grandes volúmenes de informaciones.

Página | 20
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

5.4.5 Modelo entidad-relación

Los diagramas o modelos entidad-relación (denominado por sus siglas, ERD “Diagram
Entity relationship”) son una herramienta para el modelado de datos de un sistema de
información. Estos modelos expresan entidades relevantes para un sistema de
información, sus inter-relaciones y propiedades.

5.5 FIREWALL

Un firewall, también conocido como cortafuegos, es un elemento informático que trata de


bloquear el acceso, a una red privada conectada a Internet, a usuarios no autorizados. Por
tanto, el cortafuego se centra en examinar cada uno de los mensajes que entran y salen de
la red para obstruir la llegada de aquellos que no cumplen con unos criterios de seguridad,
al tiempo que da vía libre a las comunicaciones que sí están reglamentadas

Cada computadora que se conecta a internet, o cualquier red informática, siempre está
susceptible a ser víctima de un ataque informático. La metodología empleada generalmente
consiste en barrer la red (enviando paquetes de datos de manera aleatoria) en busca de
una máquina conectada, y luego encontrar un puerto libre para acceder al computador. Esta
amenaza es todavía mayor si la computadora está permanentemente conectada a Internet.
Las razones son varias, incluyendo que la PC objeto se encuentre conectada sin
supervisión permanente, o que no cambie, o lo haga de manera muy dilatada, la dirección
IP, para evitar este tipo de ataques se utiliza el firewall.

5.5.1 FUNCIONAMIENTO DEL FIREWALL

Un firewall funciona como una barrera entre internet u otras redes públicas y nuestra
computadora. Todo el tipo de tráfico que no esté en la lista permitida por el firewall, no entra
ni sale de la computadora. Para ello, un sistema de firewall contiene un conjunto de reglas
predefinidas que permiten:

 Autorizar una conexión (Allow).

Página | 21
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

 Bloquear una conexión (Deny).


 Re direccionar un pedido de conexión sin avisar al emisor (Drop).

El conjunto de estas reglas permite instalar un método de filtración dependiente de


la política de seguridad adoptada por la organización. Se distinguen habitualmente dos
tipos de políticas de seguridad que permiten:

 Permitir únicamente las comunicaciones autorizadas explícitamente todo lo que no


es autorizado explícitamente está prohibido.

 Impedir cualquier comunicación que fue explícitamente prohibida.

5.5.2 TIPOS DE FIREWALL

Básicamente, existen dos tipos de firewalls, destinados a diferentes tipos de


infraestructuras de datos y tamaños de red.
 Firewall por Software.
 Firewall por Hardware.

Firewall por software

Un firewall gratuito es un software que se puede instalar y utilizar libremente, o no, en la


computadora. Denominados “Desktop firewall” o “Software firewall”. Son firewalls básicos
para pequeñas instalaciones hogareñas o de oficina que monitorean y bloquean, siempre
que necesario, el tráfico de Internet. Casi todas las computadoras vienen con un firewall
instalado independientemente del sistema operativo instalado en ellas.

Las características de un firewall por software son:


 Los gratuitos se incluyen con el sistema operativo y normalmente son para uso
personal
 Pueden ser fácilmente integrados con otros productos de seguridad
 No necesita de hardware para instalarlo en la computadora

Página | 22
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

 Es muy simple de instalar, normalmente ya viene activado y el Sistema Operativo


alerta cuando no tenemos ningún tipo de firewall en funcionamiento.
 Un firewall por software es lo más básico en materia de seguridad que debe existir
en una computadora y no hay razones que justifiquen la no utilización de, por lo
menos, un desktop firewall.
 Un firewall comercial funciona de la misma forma que uno gratuito, pero
normalmente incluye protecciones extra y mucho más control sobre su configuración
y funcionamiento.

Firewall por Hardware

Un firewall por Hardware viene normalmente instalado en los routers que utilizamos para
acceder a Internet, lo que significa que todas las computadoras que estén detrás del router
estarán protegidas por un firewall que está incluido en el dispositivo. La mayoría de los
routers vienen con un firewall instalado.

La configuración de un firewall por hardware es más complicada que una instalación de un


firewall por software y es normalmente realizada a través del navegador que se utiliza para
acceder a Internet. Cabe destacar que la diferencia de precio entre un router con firewall y
un router sin firewall es muy pequeña, por eso es recomendable comprar un firewall con
esta protección.

Es posible tener un firewall por hardware y un firewall por software activos simultáneamente
para lograr una mayor protección.

5.5.3 IMPORTANCIA DE UN FIREWALL

Uno de los aspectos fundamentales para la seguridad de nuestra computadora es la


instalación de un firewall junto con un antivirus de calidad. Es importante instalar esta
medida de protección cuando utiliza su computadora para el acceso a internet. El firewall
crea una barrera entre los datos privados de nuestra computadora y las amenazas
externas que nos pueden atacar cuando estamos conectados a una red.

Página | 23
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

5.6 DIRECTORIO ACTIVO

Un directorio activo, denominado de ahora en adelante como AD, es un servicio de


directorio que almacena información acerca de los objetos en una red y la pone a
disposición de los usuarios y administradores de la red. Nos brinda la posibilidad que desde
un solo servidor podamos controlar todos los equipos de la red sin tener que realizar
acciones directas sobre los equipos de los clientes.

Al no tener un AD, los usuarios realizan su autogestión, que es una alerta de seguridad
para la empresa, por lo tanto, el AD nos permite administrar las acciones de los usuarios
desde el servidor y establecer sus privilegios dentro de la red.

Figura 3. Red sin AD / Red con AD. Fuente: Sistemas operativos en Entornos monousuarios y multiusuarios
Pág. 72.

El sistema dentro de una organización se vuelve centralizado, controlado por el servidor y


este a su vez asignando a los usuarios en tiempo real los privilegios de acción dentro de la
red.

Los componentes dentro de un directorio activo son:

Página | 24
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

- Dominio: Es el lugar lógico donde se conectan todos los dispositivos y/o


computadoras de la organización, y está definida por el administrador del directorio.
Para que funcione el dominio se debe tener una base en común para compartir
recursos y dar privilegios.

- Bosque: Es uno o más dominios que comparten una configuración en común,


ejemplo, se da una configuración específica para el área administrativa y otra para
el área contable.

- Árbol: Consiste en dominios de un bosque que comparten un espacio de nombres


en DNS contiguo.

- Unidad organizativa: Es un tipo de contenedor que se usa para organizar objetos de


un dominio. Contiene cualquier tipo de objeto, y estos a su vez contienen usuarios,
grupos y equipos.

Figura 4. Estructura de un dominio en un AD. Fuente: Sistemas operativos en Entornos monousuarios y


multiusuarios Pág. 74.

Página | 25
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

6. DESARROLLO DEL PROYECTO

Para lograr la metodología planteada, el proyecto se realizó mediante entregas de


requerimientos que se tenían que responder cada 3 días, en calendario laboral, haciendo
un total de 2 entregas por semana, y de esta manera llevar el proyecto a cabalidad. Dentro
del cual, el requerimiento se entregaba, otra área realizaba los casos de pruebas
respectivos, y de tal manera que, si hubiera inconsistencias con el requerimiento, o fallas
del sistema se informaba para realizar los respectivos cambios del sistema.

El entorno de trabajo a usar en el desarrollo fue el de desarrollo, de ahora denominado QA,


para esto se tiene un dominio diferente, el dominio usado para este desarrollo es
http://vendetucarroya.com, y también se hacen los casos de pruebas se realizan en este
mismo entorno. Después de pasar por este proceso, por requerimiento se mudaron los
desarrollos a producción.

6.1 FASE I: DISEÑO Y ESTRUCTURACIÓN DE BASES DE DATOS Y


MIGRACIÓN LOCAL A QA.

El diseño de bases de datos se realizó mediante dos herramientas de software libre, una
mediante phpMyAdmin y MySQL workbench. Para esa fase, y únicamente para esta fase
se realizó de manera local. Usando el Workbench para hacer la transferencia de local a QA.
Mediante las especificaciones dadas y ajustándose al requerimiento pedido por parte de la
empresa. La conexión a la base de datos se hace mediante SSL por el puerto 21 y para
conectar con el usuario de MySQL por el puerto 3306.

Página | 26
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

Figura 5. Conexión a la base de datos mediante MySQL Workbench.

NOTA: Por normativas de la empresa no se puede mostrar el diseño total de la estructura


de la base de datos. Pero si se otorgó el permiso para tener un parte del modelo entidad
relación. (Ver en Anexo 1).

La migración de la base de datos a local, se realizó en una ventana de mantenimiento


otorgada en un horario de 6pm a 8pm, en el cual se daba permiso de cambiar la base de
datos de QA. Luego del diseño, estructuración y su respectiva migración de local a QA.

La base de datos de QA también se fusiona con el CMS activo del frontend de la plataforma
web, teniendo en cuenta que no se vaya a realizar ninguna inconsistencia entre la migración
de la base de datos que se va a subir y la existente del CMS. El tipo de bases de datos es
InnoDB, que permite ejecutar el modelo entidad relacional, por lo tanto, no tienen un bloque
escalonado y permiten el uso de llaves foráneas que se van a usar para el módulo
corporativo.

Página | 27
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

6.2 FASE II: CREACIÓN DEL MÓDULO SOY VENDEDOR, CRONJOBS Y


SCRIPTS DE PRECIOS

Estos módulos, y como el resto que se van a desarrollar a parte del CMS de la página, se
utilizó el framework CODEIGNITER, que por sus características se acomodaban a las
necesidades que requeriría el proyecto. Al ser liviano pero robusto a nivel de lenguaje PHP,
que fue el lenguaje de programación core. Por esta y más razones, se integró este
framework. El módulo de soy vendedor se crearán el frontend, una para escoger el lugar y
la fecha de agendamiento, y otra para la confirmación de la misma.

Figura 6. Módulo de soy vendedor, vista agendamiento. Tomado de: vendetucarroya.com.co

Para esta vista, en el backend y la validación del formulario se hace paso a paso, cada input
valida que está bien para poder continuar y de esta evitar que el usuario ingrese de forma
errónea los datos, toda esta información se vuelve a validar con el botón de agendar. De tal
manera que se limita el error para no tener inconsistencia de la información en la base de
datos.

Página | 28
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

Figura 7. Módulo de soy vendedor, vista confirmación de agendamiento. Tomado de:


vendetucarroya.com.co

En la secuencia, se crea el cronjob, que es un script que se ejecuta en tiempo real, que va
a estar cambiando los estados de los registros de fecha y hora a elegir en el agendamiento.
Los estados para referenciar cada uno de estos momentos son:

- Disponible: Se mostrará en la opción, y se podrá elegir este fecha y hora para poder
hacer la cita.

- Reservado: Cuando se escoge una fecha y hora, validando todos los datos, y se
pasa a la vista de confirmación de agendamiento. El estado queda en reservado, y
no se mostrará en las opciones de fecha disponible y de hora disponible, pero se
liberará si el usuario pasado un tiempo no confirma, y cambia de reservado a
disponible y este registro podrá ser escogido nuevamente.

- Agendado: Cuando se confirma la cita en la vista de confirmación de agendamiento,


no se podrá elegir esta opción de fecha y hora disponible en la vista de
agendamiento.

Página | 29
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

Figura 8. Flujo de estados módulo de soy vendedor. Tomado de: vendetucarroya.com.co

Para ello el cronjob, que en realidad es un Shell script que se ejecuta en el servidor donde
se aloja la plataforma web. El cronjob se ejecutará cada minuto, que verificará:

- Verificar la fecha y la hora, si la hora es menor a la a hora actual, no se mostrar ay


cambiara el registro a No agendado.

- Verificar si está disponible registro, y si es así lo mostrará en la vista agendamiento.

- Verificar el estado reservado, si paso el tiempo definido por la empresa de cambio


a disponible, por lo tanto, comprara entre el tiempo de diferencia y el defino, si es
menor no cambia el registro, pero si es mayor cambia el registro a disponible y lo
vuelve visible en la vista de agendamiento.

Para este proceso se utilizó la menor cantidad de código, de tal manera que al ejecutarse
en tiempo real y cada minuto, no consumiera tantos recursos del servidor de alojamiento.

El script para el precio, se ejecuta cuando se trae la vista de confirmación de cita, y se


ejecuta mediante las opciones que el usuario haya escogido, se cruza este registro en la
base de datos de la empresa, y se obtiene un valor al cual, a través de una ecuación

Página | 30
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

matemática, se presenta un valor de referencia del precio del mercado actual de ese
vehículo escogido, y se presentará un valor mínimo y uno máximo (ver Figura 7). Este
cálculo se hará para cada opción de carro escogido. En la base da datos hay un aproximado
de 19.000 mil registros, siendo un script bastante robusto y dinámico.

6.3 FASE III: CREACIÓN DE LA INTRANET

La intranet igual que todos los módulos, se realizaron mediante el uso del framework
Codeigniter. En esta parte del desarrollo se encargo de montar toda la estructura de la
intranet de la empresa, para ello se ingresaba a una url especial en la cual los usuarios
haciendo su correspondiente acceso para la plataforma. Para el acceso se encripta la
información mediante el algoritmo md5.

Figura 9. Ingreso a la intranet de la empresa. Tomado de: vendetucarroya.com.co

Para proporcionar más seguridad, se agregó un token de seguridad de 32 caracteres para


realizar la validación de que realmente se esté ingresando por el portal de intranet y desde
otra página externa. Para realizar la recuperación de contraseña del usuario se hará
mediante el correo registrado en la base de datos, al hacer esto el usuario recibirá un link
único para realizar esta gestión de cambio de contraseña y de esta manera ingresar al
sistema de forma segura. Esta url será única y se expedirá después de un tiempo definido
por la empresa.

Página | 31
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

Figura 10. Página principal intranet de la empresa. Tomado de: vendetucarroya.com.co

A continuación, se hará una descripción general de cada uno de los módulos desarrollados
en la intranet:

6.3.1 Recibidor

En este módulo se traer los agendamientos del día, y de acuerdo a la hora actual del
sistema, valida el registro cada vez que se ingrese al módulo que la hora a presentar sea
mayor. A continuación, se recibirá el carro, en la siguiente vista (ver figura 11); se ingresará
la placa, y se validará que el carro no haya estado en el sistema, de ser así. Y con ciertas
reglas de negocio definidas por la empresa, para cobrarle un valor al cliente.

Si el cliente nunca ha estado no se le cobrará el valor, si ha estado después de cierto tiempo


no se le cobrará ningún valor, el proceso continuará. Pero si el cliente ha estado antes de
un tiempo definido por la empresa en días, se le cobrará un valor, si lo decide aceptará se
seguirá con el proceso.

Página | 32
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

Figura 11. Página agenda recibidor. Tomado de: vendetucarroya.com.co

Acá se le harán unas validaciones documentales mediante selección de combobox,


dependiente de las reglas definidas por la empresa, saldrán varias opciones, pagar el valor
por la inconsistencia documental, el proceso no puede continuar por no tener la
documentación necesaria, y por ultimo si todo está en orden seguir con el proceso.

Figura 12. Página recepción recibidor. Tomado de: vendetucarroya.com.co

En la siguiente vista, se procederá a la persona que lo va a atender y a la persona que va


a realizar el peritaje del carro. Por último, se finaliza el proceso de recibidor.

Página | 33
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

Figura 13. Página elección personal recibidor. Tomado de: vendetucarroya.com.co

6.3.2 Documentador

Este módulo se encarga de hacer la documentación formal del carro, para este proceso se
crearán varias vistas. La primera será la agenda que se crea de documentación, serán los
distintos registros a realizar este proceso. Al entrar a la documentación, se hará una
validación y cargue de documentos dentro de la plataforma del servidor, esto se realizará
de manera automática, siempre y cuando las validaciones de todas las opciones sean
correctas, sino el proceso terminará.

Figura 14. Página agenda documentador. Tomado de: vendetucarroya.com.co

Página | 34
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

Lo siguiente para este proceso es ingresar la información de los documentos de la tarjeta


de propiedad, el soat y la tecno mecánica, si este último no aplica esta vista no se
presentará. Aquí el proceso son formularios de ingreso de datos de cada uno de estos
documentos. Al completar estos formularios se terminará el proceso de documentación.

Figura 15. Página documentos documentación. Tomado de: vendetucarroya.com.co

NOTA: Por requisito de la emrpesa solo se pueden mostrar algunas vistas dentro del
documento oficial, por lo tanto las vistas que se encuentran son las permitidas por la
emrpesa.

6.3.3 Peritaje

En este módulo se cargará las fotos del vehículo y el peritaje que se le realice al vehículo.
En primera instancia se ingresa a la agenda de peritaje, donde se mostrarán los peritajes a
hacer del día, en el botón peritar nos llevara al cargue de fotos del peritaje del carro. El
cargar las fotos del carro tendrá como acción crear una carpeta de alojamiento de estas
fotos, además de comprimir las fotos y redimensionarlas para pasar de un tamaño en
megabytes a kilobytes y optimizar el espacio de disco del servidor de alojamiento. Luego
se hará el peritaje del carro, esto se hará a través de campos de selección, toda esta data
será dinámicas y será traída de la base de datos, y asociada al ítem del carro a peritar, la
cantidad de ítems a peritar es definida por la empresa haciendo totalmente dinámico este

Página | 35
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

módulo. Por último, se ingresarán unas características complementarias del carro, que son
necesarios para presentarle al cliente.

Figura 16. Página subir foto peritaje. Tomado de: vendetucarroya.com.co

6.3.4 Negociador

En el negociador se le mostrará al usuario los valores que se han ofertado por el carro en
una tabla de valores, despreciando cada uno de los pagos a adicionar o descontar
dependiendo de la documentación realizada, y demás variables del negocio que son
establecidos. Acá el cliente aceptará o declinará la oferta presentada. También se hará un
resumen del peritaje realizado al carro.

Figura 17. Página negociador. Tomado de: vendetucarroya.com.co

Página | 36
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

6.4 FASE IV: CREACIÓN DEL MODULO DE CONCESIONARIO

Siguiendo los procesos anteriores, se implementará el framework Codeigniter, se realizarán


las vistas de las páginas asociadas a ese módulo. También este módulo se coloca en un
subdominio por especificaciones técnicas de la empresa.

Figura 18. Página principal concesionario. Tomado de: vendetucarroya.com.co

6.4.1 Detalles de carro

En el módulo de detalles de carro se trae toda la información, del proceso de peritaje y de


documentación que se le hizo al carro. Pero antes se tendrá una vista denominada carros
publicados que tendrá todos los carros por orden de ingreso a la plataforma del más nuevo
al más antiguo, por lo tanto, cada página de detalles de carro tendrá una única URL pasando
parámetros, definidos por la empresa para generar esta URL.

Figura 19. Página carros publicados. Tomado de: vendetucarroya.com.co

Página | 37
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

Dentro de esta página también se calificará, dependiendo del peritaje y de forma dinámica
por bases de datos, el estado actual del carro, mostrando al usuario un porcentaje de puntos
aprobados, y en la parte inferior de la página del proceso de peritaje hecho en el módulo
del mismo nombre se mostraran los puntos peritados, cuales están aprobados y cuales
requieren atención por parte del usuario, esto con el fin de mostrarle a la persona interesada
en el carro, cual es el estado real del carro, además de que la vista viene acompañada de
un carrusel de fotos descriptivas, mostrando cada punto del vehículo. También tendrán un
modal para la visualización de ellas.

Figura 20. Página detalles de carros - generales. Tomado de: vendetucarroya.com.co

Figura 21. Página detalles de carros – puntos calificados. Tomado de: vendetucarroya.com.co

Dentro de la metodología de trabajo, primero se realiza la vista y luego si se le agrega la


funcionalidad, esto aplicado tanto a concesionario como para todos los módulos
desarrollados.

Página | 38
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

Igual que para la intranet acá en este módulo se desarrolló el login de usuarios compradores
de la plataforma, reutilizando el mismo código que se hizo para intranet, pero apuntando a
distintas tablas para hacer la validación de este tipo de usuario. Ingresando el recaptcha de
google como la herramienta de validación antirobots, volviendo este API un objeto al cual
sus métodos se llaman para cada ingreso del usuario dentro de la plataforma.

Figura 22. Ingreso usuario soy concesionario. Tomado de: vendetucarroya.com.co

6.4.2 Ofertar

En el módulo de ofertar, el usuario ya loggeado, podrá hacer una oferta por el carro, por lo
tanto, la idea que implementada es que para el usuario el valor a ingresar, y dependiendo
del estado del carro, documentación y peritaje, va a variar con respecto al precio ofertado
inicialmente, por lo tanto, los precios se discriminan dándole la mayor claridad al usuario.

También para el proceso de envío de este valor a la base de datos, se encripta la


información para proveer de mayor seguridad a la transacción. También se agregó un script
que se ejecuta cada segundo que actualizará los valores en tiempo real, para evitar que los
valores se dupliquen o se ingrese data incorrecta dentro de la base de datos.

Página | 39
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

Figura 23. Módulo ofertar. Tomado de: vendetucarroya.com.co

6.5 FASE V: INSTALACIÓN DEL DIRECTORIO ACTIVO

Para esta fase se usó el software libre Open LDAP como directorio activo, dada sus
características se adapta perfectamente a las necesidades de la empresa. También como
agregado este programa, que por demás no es muy pesado, corre perfectamente en
Windows y en Linux sin ningún problema de compatibilidad entre estos sistemas, para tener
servicio tanto en el servidor como en los clientes.

La configuración y creación, se hace en el sistema operativo de Linux, que nos servirá como
el administrador de la red, y en los quipos clientes, mediante la dirección IP del servidor y
el puerto se podrá ingresar mediante un navegador al administrador del LDAP. En el
servidor se crearán los objetos o el bosque que contempla los usuarios, para la validación
de los usuarios se usa el correo corporativo que además es el mismo que se utiliza para el
ingreso a la intranet, por esto mismo se decidió utilizar el mismo user.

A nivel de privilegios a los usuarios se les otorgo el full acceso a envió de correos, de tal
manera que no tienen prohibición al enviar y recibir correos, por políticas de la empresa,
esta configuración es cerrada y solo se podrá cambiar por el director TI de la compañía.

Página | 40
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

6.6 FASE VI: INSTALACIÓN DEL FIREWALL

Para el firewall usando en el proyecto se utilizó el OPNsense, que es un software open


source que se instala en el servidor, y tiene un Dashboard que es de fácil interacción con
el administrador del programa. En el dashboard del firewall, mediante requerimientos de la
empresa se bloquearon algunos puertos que permiten que los usuarios puedan llegar a
alterar o ingresar de manera inadecuada a la plataforma, de tal manera que se bloquearon
los puertos:

- Puerto 3306: para los usuarios de MySQL.


- Puerto 22: para bloquear el acceso SSL.
- Puerto 21: para bloquear el acceso por FTP.

Estos puertos fueros los determinados para bloquear, para el resto de usuarios se permitió
todo. Para el área de IT de la empresa se habilitaron estos puertos mediante uso exclusivo
de MAC, es decir que solamente en el PC registrado se puede acceder a los puertos.
También se colocaron algunas IP, de unas páginas especificad para bloquear a los clientes.

Página | 41
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

7. ANÁLISIS DE RESULTADOS

Vende tu carro YA es una empresa que desarrolló una plataforma que se compone de
varios ecosistemas, y en cada uno de ellos hay un distinto tipo de usuario. Por lo tanto, la
complejidad respecto a la usabilidad del sistema debe reducirse al máximo para que el
usuario tenga una mejor experiencia y el proceso a nivel de desarrollo de backend nunca
se vayan truncar. A nivel de bases de datos lo mencionado anteriormente es de suma
importancia, ya que al asegurar que lo procesos se hagan de acuerdo a los requerimientos
de la empresa, la data que llega siempre será la adecuada y en consecuencia la data
errónea y redundancia de esta se reduce al mínimo, como se reitera esto se aplica tanto
para Soy vendedor, Concesionario e Intranet, siendo este último al cual se llevó mucho más
objeto de desarrollo.

A nivel de gestión de usuarios, se utilizó un directorio activo muy usado en el mercado, y


que, por su gran cantidad de uso, la configuración se hace más amigable tanto para el
cliente como en el servidor. Con la implementación de este servicio dentro de la empresa
se permite tener un mayor control dentro de la empresa, establece privilegios y una
jerarquización de cada uno de los usuarios, encontrado solución mediante esta herramienta
para esta problemática que se presenta a nivel organizacional.

Por último, se estableció de seguridad al servidor y a los usuarios mediante el uso de un


firewall que tiene muchas configuraciones hacia los usuarios, y mediante la experiencia que
tenga la organización con respecto a esta nueva incursión del sistema ellos podrán
actualizar sus políticas respecto al firewall y realizar sus debidas actualizaciones y
correcciones de las configuraciones ya asignadas en este proyecto.

Página | 42
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

8. TRABAJOS FUTUROS

Siempre en busca de la mejora en todos los sistemas, y más en una plataforma dinámica,
robusta, y con índice de usabilidad tan alto como la desarrollada dentro de la empresa
siempre habrán espacio para mejora de los mismos procesos. Con una mejor optimización
del consumo de web services que se usan al momento e interactuar con el servidor se
presenta una gran oportunidad de mejora para el sistema.

Por parte de la gestión de usuarios se podrían implementar más elementos de control, para
poder hacer un mejor uso de los recursos usados dentro de la organización ya que a medida
que aumente los usuarios se necesitara un upgrade dentro de este servicio, de igual manera
a nivel de seguridad informática como el firewall configurado y otros elementos que eviten
ataques al servidor y a los clientes, mejorar la seguridad de todo el sistema y de la
organización.

Página | 43
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

9. CONCLUSIONES

La plataforma realizada en la empresa Vende tu carro YA, que permitió poner a prueba
todas las habilidades aprendidas en el transcurso de la carrera de Ingeniería Electrónica de
la Universidad Distrital Francisco José de Caldas, ya que para desarrollar una plataforma
de ese calibre se necesitó altos conocimientos a nivel de programación de objetos y dar
solución a los problemas presentados diariamente permitió demostrar porque la educación
recibida es de excelente calidad, también hacer de la plataforma un sistema totalmente
dinámico, robusto y de fácil acceso para los usuarios, da un excelente resultado del
proyecto implementado en la pasantía-

A nivel de seguridad y de gestión de la empresa, la organización quedó muy bien blindada


en estos términos, usando los conocimientos aprendidos durante la línea de telemática
permitió cumplir los requisitos y expectativas exigidas por la empresa, y alcanzando de paso
los objetivos planteados en este proyecto.

Página | 44
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

10. BIBLIOGRAFÍA

Cake Software Fundation. (2017), Entendiendo el Modelo - Vista - Controladorl modelo


MVC. https://book.cakephp.org/2.0/es/cakephp-overview/understanding-model-view-
controller.html

Hernández, Uriel. (2015). MVC (Model, View, Controller). CodigoFacilito.


https://codigofacilito.com/articulos/mvc-model-view-controller-explicado

Ribas, José (2017). Tecnologías frontend y backend en el desarrollo web.


https://dissenyproducte.blogspot.com.co/2017/10/tecnologias-frontend-y-backend-en-
el.html

Pérez Valdés, Damián (2016). ¿Qué son las bases de datos?


http://www.maestrosdelweb.com/que-son-las-bases-de-datos/

Pérez Martínez, Eugenia (2015). Framework de Spring Desarrollo de aplicaciones Editorial


DELAU.

Torres Remón, Manuela (2011). Desarrollo de aplicaciones web con PHP y MySQL.
Editorial Empresa editora Marco.

Date, C. J (2001). Introducción a los sistemas de bases de datos. Editorial Pearson Prentice
Hall. Séptima edición.

Desmond, Brian (2013). Active Directory: Designing, Deploying, and Running Active
Directory. Editorial O’Reilly. Quinta Edición.

Noonan, Wes (2006). Firewall Fundamentals. Cisco Systems.

Raya González, Laura (2005). Sistemas operativos en Entornos monousuarios y


multiusuarios en Windows Server y Linux. Editorial RA-MA S.A. Editorial y Publicaciones.
Segunda edición.

Página | 45
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

Delisle, Marc (2012). Mastering phpMyAdmin 3.4 for effective MySQL management.
Editorial Packt Publishing Ltd.

Página | 46
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB
WWW.VENDETUCARROYA.COM.CO

ANEXOS

Estructura de la base de datos usado en la empresa e implementado en producción.

Figura 24. Parte del diseño de la arquitectura de la base de datos.

Página | 47

También podría gustarte