Skip to content

Latest commit

 

History

History
182 lines (114 loc) · 4.45 KB

README.md

File metadata and controls

182 lines (114 loc) · 4.45 KB

Arquitecturas Ágiles de Software

Alistamiento Experimento Seguridad

En primer lugar, se debe clonar el repositorio de manera local:

git clone https://github.com/JulianP911/MISW4202-Arquitecturas-Agiles.git
  1. Ubicarse en la carpeta "Experimento - Seguridad":
cd '.\Experimento - Seguridad'

En esta carpeta encontrarás tres subcarpetas correspondientes a los componentes autorizador, de registro y de socio. Las funcionalidades de cada uno de ellos son las siguientes:

Registro:
  • Crear un usuario en la base de datos a partir de un nombre de usuario y una contraseña (la contraseña se almacena encriptada).
  • Entregar el hash correspondiente de la contraseña registrada a partir de un nombre de usuario.
Autorizador:
  • Validar la contraseña a partir de un usuario y una contraseña. Esto se realiza haciendo una solicitud al microservicio de registro y comparando el hash recibido. Si la contraseña es válida, se envía un OTP.
  • Verificar la autenticidad de un OTP recibido. Si es válido, se genera y envía un token.
  • Validar la autenticidad de un token recibido.
Socio:
  • Proporcionar información sobre deportistas si el token del usuario es válido. Esta validación se realiza consumiendo el servicio de autenticación.

Iniciar los componentes

Instalar las librerías necesarias:

pip install -r requirements.txt

Ingresar a la carpeta "Autorizador":

cd Autorizador

Correr el archivo:

flask run

Asegurarse de que está corriendo en el puerto 5000.

En otra terminal ingresar a la carpeta "Registro":

cd Registro

Correr el archivo:

flask run --port 8080

Asegurarse de que está corriendo en el puerto 8080.

En otra terminal ingresar a la carpeta "Socio":

cd Socio

Correr el archivo:

flask run --port 8000

Asegurarse de que está corriendo en el puerto 8000.

Realizar las peticiones

Teniendo los tres componentes activos se ingresa a Postman para lanzar las peticiones personificando un usuario

Las colecciones predefinidas están disponibles en la carpeta Experimento - Seguridad/Seguridad.postman_collection.json. Puedes importar estas colecciones en tu instancia de Postman para un acceso rápido a las solicitudes necesarias. image

Video demostrativo

video2284129733.mp4


Alistamiento Experimento Disponibilidad

En primer lugar, se debe clonar el repositorio de manera local:

git clone https://github.com/JulianP911/MISW4202-Arquitecturas-Agiles.git
  1. Bajar la imagen de RabbitMQ a Docker:
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.13-management

Asegurarse de que RabbitMQ se encuentra en ejecución. image

  1. Ubicarse en la carpeta "Experimento - Disponibilidad":
cd '.\Experimento - Disponibilidad'

En esta carpeta, encontrarás tres subcarpetas correspondientes a la plataforma de mensajería (queues), el monitor (monitor), y el componente de notificaciones (gestor_notificaciones).

Instalar las librerías necesarias:

pip install -r requirements.txt

Ingresar a la carpeta "queues":

cd queues

Correr el archivo producer.py:

python producer.py

Asegurarse de que está corriendo en el puerto 5000.

image

Ingresar a la carpeta "gestor_notificaciones":

cd gestor_notificaciones

Correr el archivo app.py:

flask run

Ingresar a la carpeta "monitor":

cd monitor

Correr el archivo app.py:

python app.py

Asegurarse de que está corriendo en un puerto distinto al 5000.

image

  1. Ingresar a Postman y realizar la petición GET a la siguiente URL:
http://127.0.0.1:8000/estado

Asegurarse de cambiar el puerto si el monitor está corriendo en un puerto distinto. image