Challenge mercado libre A continuación el detalle de las respuestas al Challenge de Mercadolibre
● Código fuente de la aplicación (Repositorio Github) R/ En el presente repositorio
● Instrucciones para la ejecución de la aplicación (incluida cualquier aplicación o librería a instalar para el correcto funcionamiento del programa).
R/
- Se requiere tener previamente instalado, docker, github y python 3.XXX
- Clonar de github el repositorio "Mercado"
- Ejecutar docker-compose build
- Ejecutar docker-compose up
- Todas las librearias adicionales se instalaran a través de docker mediante el archivo requirements.txt.
- Ejecutar el archivo Mercadolibre.py
- Consultar el api a través de localhost:80
● Descripción de la aplicación realizada, supuestos, problemas y soluciones con los que se encontró al realizar la misma con evidencias en png.
R/ Descripción de la aplicación:
- Se toma los datos remotamente de monkapi a través de consumirserv.py y se llevana a un archivo datos.json.
- Se ejecuta el escript parselscript.py que lo que hace es mapear los datos del archivo datos.json y organizarlos de tal forma que se puedan almacenar en un archivo data.sql para que sean incluidos y almacenados en una base de datos.
La aplicación esta desarrollada para uso en docker compose, a tracves del archivo docker compose se crean dos contenedores
- Base de datos postgres dónde se lee el archvio data.sql con los datos organizados y se crea una base de datos llamada clientes la cual consta de dos tablas una con los gerenales del cliente y otra con los datos de las tarjetas de crédido las cuales se enlazan mediante una llave foranea (numero de cuenta).
- Por otro lado se crea un contenedor que pondra en línea el api de consulta de los datos (app)
● Análisis de riesgo de la solución planteada.
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | ID | Risk | Description | Recommendations | Evaluation | ||
2 | PROB | IMP | WM | ||||
3 | R1 | Confidencialidad de la información (externo) | Los datos se entregan en texto claro a través de internet (monkapi) | Usar una Api local que permita extraer los datos y tratarlos brindandoles seguridad | H | M-H | Alto |
4 | R2 | Confidencialidad de la información | Los datos de los usuarios como identificaciones y cuentas, compras y datos financieros se entregan en un mismo contexto | Segregar el acceso Cifrar datos financieros Separar los datos de acuerdo a los roles y perfiles que consultan los datos y las necesidades | H | M-H | Alto |
5 | R3 | Confidencialidad e integridad de los datos en base de datos | Los datos que se consumen desde el api no se encuetran estrucuturados y con control de acceso, roles y perfiles. | Mantener el control de quienes y para que accesden a la información, llevar roles y pefiles de aplicación y base de datos | L-M | L-M | Bajo |
6 | R4 | Disponibilidad y confidencialidad de la información de Consumo del api y base de datos | No se tiene claramente definido quienes y para que usan los datos tanto externa como internamente | Crear un módulo adicional de roles y perfiles | M-H | M-H | Medio |
7 | R5 | Confidencialidad y Disponibilidad de los datos | Almacenamiento persistente de los datos y consulta de datos | Mantener copia de los datos entregados por el api externa. | L-M | L-M | Medio |