# ceoalmaloco/barriodigital-infra architecture

> Architecture diagram of the GitHub repository ceoalmaloco/barriodigital-infra, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ceoalmaloco/barriodigital-infra
- Repository: https://github.com/ceoalmaloco/barriodigital-infra

## Overview

BarrioDigital Infra configura tres despliegues Docker: las aplicaciones, RabbitMQ y un Kafka aún placeholder. El flujo documentado va de Amplify por API Gateway y el BFF hacia requests y Oracle; catalog y notify también forman parte del stack de aplicaciones, aunque no se documenta aquí cómo se invocan. RabbitMQ se describe como un clúster de dos nodos. No hay extractos de configuración disponibles, así que las relaciones se limitan a las afirmaciones del README; no se infieren integraciones entre servicios.

Main entry points: [`apps/compose.yml`](https://github.com/ceoalmaloco/barriodigital-infra/blob/main/apps/compose.yml) (Apps Compose)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_apps["Aplicaciones"]
  node_apps_compose["Apps Compose<br/>[compose.yml]"]
  node_bff["BFF<br/>[compose.yml]"]
  node_requests["Requests<br/>[compose.yml]"]
  node_catalog["Catalog<br/>[compose.yml]"]
  node_notify["Notify<br/>[compose.yml]"]
end

subgraph group_messaging["Mensajería"]
  node_rabbitmq["RabbitMQ cluster<br/>[compose.yml]"]
  node_kafka_stack["Kafka placeholder<br/>[compose.yml]"]
end

subgraph group_docs["Arquitectura documentada"]
  node_architecture_docs["Architecture docs<br/>[arquitectura.md]"]
  node_decisions_docs["Security and deployment decisions<br/>[decisiones.md]"]
end

node_amplify(("Amplify"))
node_api_gateway{{"API Gateway"}}
node_oracle[("Oracle")]

node_amplify -->|"routes to"| node_api_gateway
node_api_gateway -->|"routes to"| node_bff
node_bff -->|"calls"| node_requests
node_requests -->|"accesses"| node_oracle
node_apps_compose -->|"includes"| node_bff
node_apps_compose -->|"includes"| node_requests
node_apps_compose -->|"includes"| node_catalog
node_apps_compose -->|"includes"| node_notify

click node_apps_compose "https://github.com/ceoalmaloco/barriodigital-infra/blob/main/apps/compose.yml"
click node_bff "https://github.com/ceoalmaloco/barriodigital-infra/blob/main/apps/compose.yml"
click node_requests "https://github.com/ceoalmaloco/barriodigital-infra/blob/main/apps/compose.yml"
click node_catalog "https://github.com/ceoalmaloco/barriodigital-infra/blob/main/apps/compose.yml"
click node_notify "https://github.com/ceoalmaloco/barriodigital-infra/blob/main/apps/compose.yml"
click node_rabbitmq "https://github.com/ceoalmaloco/barriodigital-infra/blob/main/mq/compose.yml"
click node_kafka_stack "https://github.com/ceoalmaloco/barriodigital-infra/blob/main/kafka/compose.yml"
click node_architecture_docs "https://github.com/ceoalmaloco/barriodigital-infra/blob/main/docs/arquitectura.md"
click node_decisions_docs "https://github.com/ceoalmaloco/barriodigital-infra/blob/main/docs/decisiones.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_apps_compose,node_bff,node_requests,node_catalog,node_notify toneBlue
class node_rabbitmq,node_kafka_stack,node_oracle toneAmber
class node_architecture_docs,node_decisions_docs,node_api_gateway toneMint
class node_amplify toneIndigo
```

## Components

### Aplicaciones

- [Apps Compose](https://github.com/ceoalmaloco/barriodigital-infra/blob/main/apps/compose.yml): `apps/compose.yml`
- [BFF](https://github.com/ceoalmaloco/barriodigital-infra/blob/main/apps/compose.yml): `apps/compose.yml`
- [Requests](https://github.com/ceoalmaloco/barriodigital-infra/blob/main/apps/compose.yml): `apps/compose.yml`
- [Catalog](https://github.com/ceoalmaloco/barriodigital-infra/blob/main/apps/compose.yml): `apps/compose.yml`
- [Notify](https://github.com/ceoalmaloco/barriodigital-infra/blob/main/apps/compose.yml): `apps/compose.yml`

### Mensajería

- [RabbitMQ cluster](https://github.com/ceoalmaloco/barriodigital-infra/blob/main/mq/compose.yml): `mq/compose.yml`
- [Kafka placeholder](https://github.com/ceoalmaloco/barriodigital-infra/blob/main/kafka/compose.yml): `kafka/compose.yml`

### Arquitectura documentada

- [Architecture docs](https://github.com/ceoalmaloco/barriodigital-infra/blob/main/docs/arquitectura.md): `docs/arquitectura.md`
- [Security and deployment decisions](https://github.com/ceoalmaloco/barriodigital-infra/blob/main/docs/decisiones.md): `docs/decisiones.md`

### Other components

- **Amplify**
- **API Gateway**
- **Oracle**

## Connections

- Amplify → API Gateway: routes to (evidence: `README.md`)
- API Gateway → BFF: routes to (evidence: `README.md`)
- BFF → Requests: calls (evidence: `README.md`)
- Requests → Oracle: accesses (evidence: `README.md`)
- Apps Compose → BFF: includes (evidence: `README.md`)
- Apps Compose → Requests: includes (evidence: `README.md`)
- Apps Compose → Catalog: includes (evidence: `README.md`)
- Apps Compose → Notify: includes (evidence: `README.md`)
