3.4 KiB
3.4 KiB
Arquitetura do Sistema NC1
Este documento detalha a topologia dos serviços, fluxo de rede e componentes da infraestrutura.
Diagrama de Arquitetura
O diagrama abaixo ilustra a comunicação entre o proxy reverso (Traefik), serviços de aplicação, bancos de dados e ferramentas de suporte.
flowchart LR
%% Nós Externos
Internet((Internet)) -->|HTTPS/443| T[Traefik Proxy]
%% Core Infrastructure
subgraph Support ["Infraestrutura de Suporte"]
direction TB
VW[Vaultwarden]
FG[Forgejo Git]
PG[(PostgreSQL)]
RD[(Redis)]
end
%% Core Services
subgraph Core ["Core Platform"]
CIG[Identity Gateway]
CPP[Platform Projects]
CDB[Core Dashboard]
end
%% SaveInMed Ecosystem
subgraph SaveInMed ["Ecosistema SaveInMed"]
SIMB[Backend API]
SIMM[Marketplace]
end
%% Q1 Connect Ecosystem
subgraph Q1 ["Q1 Connect"]
direction TB
subgraph Q1Apps ["Apps"]
Q1FOOD[Food Backend]
Q1VEST[Vestuário/Store]
Q1ABE[Agenda Backend]
Q1AFE[Agenda Frontend]
end
subgraph Q1Management ["Gestão"]
Q1BE[Total Backend]
Q1DB[Total Dashboard]
end
end
%% Sextando Ecosystem
subgraph Sextando ["Sextando"]
SXBE[Backend API]
SXFE[Frontend Web]
end
%% Invent Ecosystem
subgraph Invent ["Invent Finance"]
INVBE[Backend API]
INVFE[Frontend App]
end
%% Rotas do Traefik
T --> VW
T --> FG
T --> CIG
T --> CPP
T --> CDB
T --> SIMB
T --> SIMM
T --> INVBE
T --> INVFE
T --> Q1BE
T --> Q1DB
T --> Q1FOOD
T --> Q1VEST
T --> Q1ABE
T --> Q1AFE
T --> SXBE
T --> SXFE
%% Conexões de Banco de Dados (Link Styles)
linkStyle default stroke-width:2px,fill:none,stroke:gray;
%% Dependências de Dados
CIG -.-> PG
CPP -.-> PG
INVBE -.-> PG
Q1BE -.-> PG
Q1FOOD -.-> PG
Q1VEST -.-> PG
Q1ABE -.-> PG
SXBE -.-> PG
SIMB === PG
SIMB === RD
Descrição dos Componentes
🌐 Gateway & Proxy
- Traefik: Ponto de entrada único (Entrypoint). Gerencia certificados SSL (Let's Encrypt), roteamento de host e load balancing. Escuta nas portas 80 (Redirect) e 443 (HTTPS).
🔐 Segurança & Identidade
- Core Identity Gateway: Responsável pela autenticação centralizada e gestão de tokens.
- Vaultwarden: Gerenciador de senhas para a equipe (compatível com Bitwarden).
🏥 SaveInMed
Plataforma principal de gestão médica e marketplace.
- Backend API: Serviço core, utiliza Redis para cache de sessões/dados e PostgreSQL para persistência.
- Marketplace: Interface de vendas e catálogo.
🛍️ Q1 Connect
Suíte de aplicativos de comércio e agendamento.
- Total: Backend administrativo e Dashboard.
- Setoriais: APIs específicas para Food, Vestuário/Store e Agenda.
🛒 Sextando & Vestuário
Plataformas de e-commerce. Backend em Go, Frontend em Node.js/React.
💰 Invent Finance
Sistema financeiro com separação clara entre Backend e Frontend.
Infraestrutura de Dados
- PostgreSQL: Instância única compartilhada entre todos os serviços (exceto Vaultwarden que pode ter seu próprio banco ou schema).
- Redis: Sistema de cache em memória, utilizado intensivamente pelo SaveInMed para alta performance.