Logo Studenta

FORTALECIMIENTO DEL FRONTEND Y BACKEND

¡Este material tiene más páginas!

Vista previa del material en texto

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 
 
Página | 3 
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 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 4 
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 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 5 
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 queel presente proyecto tenía como eje principal la inclusión 
del concepto de seguridad informática en los procesos de desarrollo de web. 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 6 
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. 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 7 
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. 
 
http://www.vendetucarroya.com.co/
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 8 
- 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. 
http://concesionario.vendetucaroya.com.co/
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 9 
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. 
 
 
 
 
 
 
 
 
 
 
 
 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 10 
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. 
 
 
http://www.vendetucarroya.com.co/
http://www.vendetucarroya.com.co/
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 11 
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, generandouna 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. 
 
 
 
 
 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 12 
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 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 13 
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: 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 14 
 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 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 15 
 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. 
https://codigofacilito.com/cursos/rails
https://codigofacilito.com/cursos/django
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 16 
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 interfazde 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 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 17 
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. 
 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 18 
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. 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 19 
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. 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 20 
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 encontrarlos 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. 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 21 
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). 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 22 
 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 
https://tecnologia-informatica.com/todo-sap-bussines-one/
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 23 
 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. 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 24 
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: 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 25 
- 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 quecomparten 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. 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 26 
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. 
 
http://vendetucarroya.com/
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 27 
 
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. 
 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 28 
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. 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 29 
 
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. 
 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 30 
 
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 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 31 
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. 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 32 
 
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. 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 33 
 
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. 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 34 
 
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 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 35 
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 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 36 
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 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 37 
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 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 38 
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. 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 39 
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 usuariosoy 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. 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 40 
 
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. 
 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 41 
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. 
 
 
 
 
 
 
 
 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 42 
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. 
 
 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 43 
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. 
 
 
 
 
 
 
 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 44 
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. 
 
 
 
 
 
 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 45 
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. 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 46 
Delisle, Marc (2012). Mastering phpMyAdmin 3.4 for effective MySQL management. 
Editorial Packt Publishing Ltd. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
FORTALECIMIENTO DEL FRONTEND Y BACKEND DEL SITIO WEB 
WWW.VENDETUCARROYA.COM.CO 
 
Página | 47 
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.

Continuar navegando

Otros materiales