Skip to content
E3 CreaTIC

Technical documentation

Arquitectura

Vista general

                          ┌──────────────────────────────────────────────┐
                          │              CLIENTE (Navegador)              │
                          │         Angular 20 SPA  ·  puerto 8080        │
                          └──────────────────┬───────────────────────────┘
                                             │ HTTP
                          ┌──────────────────▼───────────────────────────┐
                          │              NGINX  (API Gateway)             │
                          │                  puerto 8010                  │
                          └──┬──────┬──────┬──────┬──────┬──────┬───────┘
                             │      │      │      │      │      │
               /authentication  /authorization  /integrations  /clients
                    /logs  /reports  /orphans  /images  /profile-picture
                             │      │      │      │      │      │
          ┌──────────────────┼──────┼──────┼──────┼──────┼──────┼──────────┐
          │                  ▼      ▼      ▼      ▼      ▼      ▼          │
          │   ┌────────┐ ┌──────┐ ┌────┐ ┌──────┐ ┌────┐ ┌─────┐ ┌─────┐ │
          │   │ authen │ │ auth │ │inte│ │clien │ │logs│ │repo │ │orph │ │
          │   │ tication│ │ oriz │ │grat│ │  ts  │ │    │ │ rts │ │ ans │ │
          │   │  :8000 │ │ ation│ │ions│ │ :8000│ │:800│ │:8000│ │:800 │ │
          │   └───┬────┘ └──┬───┘ └─┬──┘ └──┬───┘ └──┬─┘ └──┬──┘ └──┬──┘ │
          │       └─────────┴───────┴────────┴────────┴──────┴───────┘    │
          │                         │  SQL / ORM                           │
          │                  ┌──────▼──────┐    ┌──────────────┐          │
          │                  │ PostgreSQL  │    │    Redis      │          │
          │                  │    17.6     │    │  (cache       │          │
          │                  │  :5432      │    │  Zabbix data) │          │
          │                  └─────────────┘    └──────┬───────┘          │
          │                                             │                  │
          │                                    ┌────────▼───────┐         │
          │                                    │ zabbix-cache-  │         │
          │                                    │   updater      │         │
          │                                    └────────────────┘         │
          └──────────────────────────────────────────────────────────────┘
                                    Backend (Docker Compose)

Repositorios

RepositorioDescripción
b2b-cp-frontendSPA Angular 20
b2b-cp-backendMicroservicios FastAPI + infraestructura Docker

Microservicios backend

ServicioDirectorioResponsabilidad
authenticationb2b-cp-backend/authentication/Autenticación local y vía Okta; emisión y validación de JWT
authorizationb2b-cp-backend/authorization/Gestión de roles y permisos (RBAC)
clientsb2b-cp-backend/clients/Gestión de tenants, clientes y grupos de hosts
integrationsb2b-cp-backend/integrations/Proxy hacia Zabbix; gestión de hosts e infraestructura
logsb2b-cp-backend/logs/Registro de auditoría de acciones del sistema
reportsb2b-cp-backend/reports/Generación automática de reportes mensuales (APScheduler)
orphansb2b-cp-backend/orphans/Detección y vinculación de recursos huérfanos
imagesb2b-cp-backend/images/Almacenamiento y entrega de imágenes y fotos de perfil
zabbix-cache-updaterb2b-cp-backend/zabbix-cache-updater/Worker que sincroniza datos de Zabbix en Redis cada 120 s
migrationsb2b-cp-backend/migrations/Migraciones de base de datos (Alembic)
nginxb2b-cp-backend/nginx/API Gateway / reverse proxy

Módulos frontend

La aplicación Angular sigue Screaming Architecture: los directorios de primer nivel expresan dominios de negocio, no capas técnicas.

src/app/
├── auth/          # Login, MFA, reset de contraseña
├── portal/        # Layout principal, home/dashboard
├── settings/      # Usuarios, clientes, conexiones
├── infrastructure/# Servidores, redes, dispositivos IaaS
├── alerts/        # Alertas operacionales (Zabbix)
├── azure/         # Recursos Azure (VMs, DBs, storage)
├── vmware/        # vCenters, clusters, datastores, ESXi
├── openstack/     # Datacenters OpenStack
├── reports/       # Visualización y descarga de reportes
├── logs/          # Visor de logs de auditoría
├── orphans/       # Recursos sin asignación
├── documentation/ # Visor de documentación interna
├── shared/        # Servicios y componentes transversales
└── utils/         # Funciones auxiliares compartidas