El propósito de este experimento es confirmar que la arquitectura TO-BE predefinida permite que la aplicación Caja de Seguridad, con su lógica de negocio implementada en Python, pueda escalar y manejar de manera eficiente la carga de trabajo esperada. Al mismo tiempo, el front-end se modernizará utilizando Angular. Dado el importante esfuerzo requerido para la implementación completa de la nueva arquitectura, hemos optado por un proceso de modernización iterativo. Este enfoque garantiza que el sistema heredado de Caja de Seguridad permanezca operativo mientras se integran progresivamente los nuevos componentes del front-end de Angular, reemplazando finalmente toda la interfaz de usuario (UI) por el nuevo front-end.
- Integrantes
- Descripción
- Tecnologías Utilizadas
- Requisitos de Instalación
- Arquitectura
- Estructura de Carpetas
| Nombre y apellidos | Correo |
|---|---|
| Camilo Ramírez Restrepo | c.ramirezr2@uniandes.edu.co |
| Leidy Viviana Osorio Jiménez | l.osorioj@uniandes.edu.co |
| Tim Ulf Pambor | t.pambor@uniandes.edu.co |
| Fredy Antonio Alarcón Fonseca a | f.alarconf@uniandes.edu.co |
En la aplicación Caja de Seguridad, la gestión de elementos (secretos) es una parte crucial del sistema. Esta gestión incluye la capacidad de listar y crear nuevos elementos y claves, asegurando que los usuarios puedan almacenar y recuperar su información confidencial de manera segura y eficiente. Actualmente, el sistema presenta un alto acoplamiento entre las distintas entidades, lo que dificulta su escalabilidad y mantenimiento. Por esta razón, la prioridad de modernización se centra en desacoplar la lógica de negocio del front-end, exponiendo el backend a través de endpoints API y modernizando el front-end utilizando Angular.
- Docker + Docker Compose
- Python3
- Flask
- PostgreSQL
- Angular
- APIs REST con Flask
- gunicorn
- Instalar Docker y Docker Compose
- Clona este repositorio.
- Ejecuta
docker compose buildpara crear los diferentes contenedores - Ejecuta
docker compose uppara ejecutar la aplicación
- /api/auth/login (POST): Inicia sesión en la aplicación web.
- /api/caja/secretos (GET): Lista todos los elementos creados.
- /api/caja/claves (GET): Lista todas las claves favoritas creadas
- /api/caja/clave (POST): Crea la clave favorita.
Consulta la documentación completa de la API aqui:
https://lb-cds-1270030646.us-east-1.elb.amazonaws.com/
- auth: Microservicio de autenticación.
- front: Código fuente del frontend de la aplicación.
- src: Código fuente principal de la aplicación backend.
- terraform: Scripts de Terraform para la infraestructura.
- tests: Pruebas unitarias del proyecto.
- git clone Caja de seguridad]
- cd src
- python -m venv env
- source env/bin/activate
- pip install -r requirements-web.txt
- flask run
- git clone Caja de seguridad]
- cd front
- npm install
- ng serve


