Saltar a contenido

Mapa de repositorios

Qué repositorio hace qué, dónde corre, quién lo mantiene y cuál es su estado. Es la primera pregunta de cualquier persona que llega al proyecto.

Los cinco repositorios

Repo Rol Dónde corre Stack Cuenta Rama por defecto
embolsadora-frontend Dashboard multi-tenant + BFF Vercel Next.js 16 · React 19 · Supabase Auth · OTel→SigNoz fdegiovanni develop
embolsadora4.0-cloud API de negocio e ingesta IoT Cloud Run (GCP) Go 1.24 · Gin · pgx · Postgres · MongoDB · Redis lucia117 develop
embolsadora-edge Reenvío planta→nube y endpoints de estado Raspberry Pi Go · Gin · SQLite (outbox) fdegiovanni develop
proyecto-embolsadora Historian AAS: PLC → InfluxDB → modelo AAS Raspberry Pi Python · Modbus TCP · InfluxDB 2.6 · FA³ST agustin-aicardi main
embolsadora-bundle Empaquetado conjunto historian + edge Raspberry Pi Docker Compose fdegiovanni main

Fronteras de responsabilidad

proyecto-embolsadora pertenece a una tesis de maestría distinta del Proyecto Final UTN. Se integra como componente aportado y se cita con su autor y su repositorio. No se documenta como trabajo del Proyecto Final: acá se documenta la frontera (qué consume el Edge de él y bajo qué contrato), no su interior.

Cómo se conectan

flowchart LR
  subgraph Pi["Raspberry Pi (planta)"]
    PLC[PLC / mock Modbus]
    HI[Historian Python]
    IF[(InfluxDB 2.6)]
    FA[FA³ST AAS :8081]
    ED[Edge Pi Service Go]
    SQ[(SQLite outbox)]
  end
  subgraph Cloud["Cloud"]
    API[Cloud API Go<br/>Cloud Run]
    PG[(Postgres)]
    MG[(MongoDB)]
    RD[(Redis)]
    SB[Supabase Auth]
  end
  FE[Next.js + BFF<br/>Vercel]
  B[Navegador]

  PLC -->|Modbus TCP, solo lectura| HI
  HI --> IF
  HI --> FA
  ED -->|Flux query| IF
  ED --> SQ
  ED -->|POST /consumers/events<br/>X-Api-Key| API
  API -->|GET /status /health /telemetry| ED
  API --> PG & MG & RD
  API -->|JWKS| SB
  B --> FE
  FE -->|Bearer JWT + X-Tenant-ID| API
  B -->|login| SB

El detalle de cada flecha —protocolo, autenticación, qué pasa si falla— está en flujo-de-datos.md y en las páginas de integraciones/.