architecture-beta
group cliente(internet)[Usuario]
group qa_env(lucide:test-tube)[Pruebas Externas]
group docker_layer(lucide:container)['Contenedores e Imagenes Docker (Aislamiento y Seguridad)']
group pub(lucide:globe)[Acceso Publico]
group auth(lucide:shield-check)['Auth Backend-For-Frontend']
group auth0(lucide:key-round)[Proveedor de Identidad]
group motor(lucide:cpu)['DAC-HDG']
group data(lucide:hard-drive)[Capa de Persistencia]
group datab(lucide:arrow-left-right)['Capa de Respaldo (En Desarrollo)']
service user(lucide:user)['Vendedor / Admin / Root'] in cliente
service streamlit_qa(lucide:monitor-play)['Streamlit QA (Entorno de Pruebas)'] in qa_env
service docker_engine(lucide:cpu)['Motor Docker (Servicio por Imagen)'] in docker_layer
service traefik(lucide:network)[Traefik] in pub
service google(lucide:chrome)[Google Auth OIDC] in auth0
service dac_cloud(lucide:lock)['DAC-Cloud'] in auth
service dac_bff(lucide:user-check)['DAC-BFF (Auth 2.0 + PKCE + Hashing SHA256 y Verificacion JWT cada 5min.)'] in auth
service dac_auth(lucide:user-cog)['DAC-Auth'] in auth
service auth_db(lucide:database)['Usuario-Rol'] in auth
service directus(lucide:layers)['Directus v11.1.1'] in motor
service redis(lucide:zap)[Redis 6] in motor
service redis_db(lucide:database)[Cache] in motor
service postgres(lucide:hard-drive-download)[PostgreSQL] in data
service minio(lucide:hard-drive-download)[MinIO] in data
service db_volume(lucide:database)['Hoja de Gestión'] in data
service minio_volume(lucide:database)[Objetos] in data
service backup(lucide:share-2)['DAC-Back Enjambre de Respaldos P2P'] in datab
%% Flujos Principales e Infraestructura
user:R -[Ingreso y cifrado]- L:docker_engine
docker_engine:B -[ Despliegue de Imagenes Seguras ]- T:traefik
traefik:B -[ Balanceo Proxy ]- T:directus
%% Pruebas QA
streamlit_qa:L -[ Conexion Directa Pruebas QA ]- R:directus
%% Auth y Permisos
directus:L -[ Permisos ]- R:dac_cloud
dac_cloud:B -['Cookies HTTPOnly + SameSite = Strict Roles']- T:dac_bff
dac_bff:L -[autorizacion]- R:dac_auth
dac_bff:B -[autenticacion]- T:google
dac_auth:B -[Volumen]- T:auth_db
%% Caching y Persistencia Directus
directus:R -[Cache]- L:redis
redis:R -[Volumen]- L:redis_db
directus:B -[SQL]- T:postgres
directus:B -[S3]- T:minio
postgres:B -[Volumen]- T:db_volume
minio:B -[Volumen]- T:minio_volume
%% Respaldo
postgres:R -[Futuro Desarrollo]- L:backup