How wellinton1/gestor-multi-tenant works
Gestor Multi-Tenant é um painel de gestão para negócios com agendamentos e um portal público de reservas por estabelecimento. O fluxo principal vai do cliente que consulta serviços e envia uma reserva pelo portal, ao servidor que encaminha a requisição à rota do portal e persiste os dados no armazenamento tenant-scoped; a reserva fica pendente para confirmação no painel. Operadores também gerem clientes, equipe, serviços, pagamentos e caixa. A arquitetura abaixo usa os caminhos da árvore e os trechos disponíveis; ligações de subsistemas documentados mas não amostrados foram omitidas quando seu encaminhamento não pôde ser confirmado.
Main entry points: server.js Servidor Express · store.js Store PostgreSQL · makeCrudRouter.js CRUD tenant-scoped · payments.js Configuração de pagamentos
Components 22
Interfaces
- Painel SPA
app/public/js/app.js - Portal público
app/public/js/portal.js
Servidor e acesso
- Servidor Express
app/server.js - Autenticação
app/src/middleware/auth.js - Login e setup
app/src/routes/auth.js
Gestão do negócio
- Reservas online
app/src/routes/portal.js - Agendamentos
app/src/routes/appointments.js - Clientes
app/src/routes/clients.js - Funcionários
app/src/routes/employees.js - Serviços e produtos
app/src/routes/services.js - Dashboard
app/src/routes/dashboard.js - Fechamento de caixa
app/src/routes/cashClosings.js - Configuração de pagamentos
app/src/routes/payments.js
Dados multi-tenant
- CRUD tenant-scoped
app/src/routes/makeCrudRouter.js - Contexto tenant
app/src/data/tenant-context.js - Store PostgreSQL
app/src/data/store.js
Plataforma
- Provedores de pagamento
app/src/utils/payment-providers.js - Bancos por tenant
app/src/routes/tenantDatabases.js - Backups
app/src/routes/backups.js - Segurança
app/src/routes/security.js
Other components
- Operador
- Cliente
Connections 34
- Operador → Painel SPA: usa painel
- Cliente → Portal público: faz reserva
- Painel SPA → Servidor Express: chama API
- Portal público → Servidor Express: chama API
- Servidor Express → Login e setup: encaminha auth
- Servidor Express → Reservas online: encaminha portal
- Servidor Express → Agendamentos: encaminha agendamentos
- Servidor Express → Clientes: encaminha clientes
- Servidor Express → Funcionários: encaminha equipe
- Servidor Express → Serviços e produtos: encaminha catálogo
- Servidor Express → Dashboard: encaminha dashboard
- Servidor Express → Fechamento de caixa: encaminha caixa
- Servidor Express → Configuração de pagamentos: encaminha pagamentos
- Servidor Express → Bancos por tenant: encaminha bancos
- Servidor Express → Backups: encaminha backups
- Servidor Express → Segurança: encaminha segurança
- Login e setup → Store PostgreSQL: consulta e grava
- Autenticação → Store PostgreSQL: consulta usuário
- Servidor Express → Contexto tenant: propaga contexto
- Contexto tenant → Store PostgreSQL: configura isolamento
- Reservas online → Store PostgreSQL: lê e grava reservas
- Agendamentos → Store PostgreSQL: lê e grava
- Clientes → CRUD tenant-scoped: usa CRUD
- Serviços e produtos → CRUD tenant-scoped: usa CRUD
- CRUD tenant-scoped → Autenticação: exige login e loja
- CRUD tenant-scoped → Store PostgreSQL: lê e grava
- Funcionários → Store PostgreSQL: lê e grava
- Dashboard → Store PostgreSQL: consulta dados
- Fechamento de caixa → Store PostgreSQL: lê e grava
- Configuração de pagamentos → Store PostgreSQL: lê e grava configuração
- Configuração de pagamentos → Provedores de pagamento: usa provedor
- Bancos por tenant → Store PostgreSQL: provisiona e migra
- Backups → Store PostgreSQL: consulta dados
- Segurança → Store PostgreSQL: consulta dados