Skip to content

📲 MISW 4202 - Arquitecturas Ágiles de Software - Experimentos

Notifications You must be signed in to change notification settings

JulianP911/MISW4202-Arquitecturas-Agiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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

About

📲 MISW 4202 - Arquitecturas Ágiles de Software - Experimentos

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages