6.6 KiB
Arquitetura Multi-tenant - Modelo de Negócio Aggios
Visão Geral da Plataforma
A plataforma Aggios utiliza uma arquitetura multi-tenant em três camadas principais:
┌─────────────────────────────────────────────────┐
│ aggios.app (Site Institucional) │
│ - Marketing │
│ - Cadastro de novas agências │
└─────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────┐
│ dash.aggios.app (SuperAdmin) │
│ - Você (dono da plataforma) │
│ - Gerencia TODAS as agências │
│ - Vê analytics globais │
└─────────────────────────────────────────────────┘
│
┌───────────┴───────────┐
▼ ▼
┌──────────────────┐ ┌──────────────────┐
│ idealpages. │ │ outraagencia. │
│ aggios.app │ │ aggios.app │
├──────────────────┤ ├──────────────────┤
│ Painel da │ │ Painel da │
│ IdeaPages │ │ Outra Agência │
│ │ │ │
│ • CRM │ │ • CRM │
│ • ERP │ │ • ERP │
│ • Projetos │ │ • Projetos │
│ • White Label │ │ • White Label │
│ (seu logo) │ │ (logo deles) │
└──────────────────┘ └──────────────────┘
│ │
▼ ▼
Clientes da Clientes da
IdeaPages Outra Agência
Como Funciona na Prática
1. Sua Agência (Exemplo: IdeaPages)
- URL:
idealpages.aggios.app - White Label: Logo e cores da IdeaPages
- Clientes: Cadastrados DENTRO da agência IdeaPages
- Isolamento: Cada cliente é isolado por tenant_id (multi-tenant)
2. Quando um Cliente Precisa do CRM
Você SEMPRE manda a URL da sua agência, não aggios.app!
- Cliente cria conta em
idealpages.aggios.app - Cliente acessa
idealpages.aggios.appcom login próprio - Cliente vê SEU logo (IdeaPages)
- Cliente vê SEU white label
- Cliente só vê os dados DELE (isolamento por tenant)
3. Estrutura de Clientes
IdeaPages (você - agência)
├── Cliente 1 (Empresa ABC)
│ ├── Vê: Logo IdeaPages
│ ├── Acessa: idealpages.aggios.app
│ └── Usa: CRM, ERP, Projetos (dados isolados)
│
├── Cliente 2 (Tech Solutions)
│ ├── Vê: Logo IdeaPages
│ ├── Acessa: idealpages.aggios.app
│ └── Usa: CRM, ERP, Projetos (dados isolados)
│
└── Cliente 3 (Marketing Pro)
├── Vê: Logo IdeaPages
├── Acessa: idealpages.aggios.app
└── Usa: CRM, ERP, Projetos (dados isolados)
Benefícios para a Agência
✅ White Label Completo: Cliente vê sua marca, não "Aggios" ✅ Controle Total: Você gerencia todos os seus clientes ✅ Isolamento de Dados: Cada cliente só vê os próprios dados ✅ Escalável: Adicione quantos clientes quiser na mesma agência ✅ Identidade Visual: Logo e cores personalizadas por agência
Fluxo de Trabalho
- Agência se cadastra → Cria subdomínio (ex: idealpages.aggios.app)
- Agência personaliza → Upload de logo, cores, identidade visual
- Agência adiciona clientes → Cada cliente recebe credenciais
- Cliente acessa → idealpages.aggios.app (vê marca da agência)
- Cliente usa módulos → CRM, ERP, Projetos (dados isolados)
Resposta Direta
Pergunta: "Cliente precisa do CRM, mando aggios.app ou idealpages.aggios.app?"
Resposta: idealpages.aggios.app ✅
O cliente SEMPRE acessa o painel da sua agência, onde verá sua marca e terá acesso aos módulos que você liberar.
Sistema de Links de Cadastro Personalizados
Visão Geral
Sistema que permite ao SuperAdmin criar links de cadastro customizados, escolhendo:
- Campos do formulário: Quais informações coletar
- Módulos habilitados: Quais funcionalidades o cliente terá acesso
- Branding: Logo e cores personalizadas
Fluxo de Uso
- SuperAdmin acessa
dash.aggios.app/superadmin/signup-templates - Cria template selecionando:
- Campos: email, senha, subdomínio, CNPJ, telefone, etc.
- Módulos: CRM, ERP, PROJECTS, FINANCIAL, etc.
- Slug: URL amigável (ex:
crm-rapido)
- Compartilha link:
aggios.app/cadastro/crm-rapido - Cliente acessa e vê formulário personalizado
- Após cadastro, tenant criado com módulos específicos
Exemplo Real: DH Projects
Template: "CRM Rápido"
Slug: crm-rapido
Campos: email, senha, subdomínio, nome da empresa
Módulos: CRM
Link gerado: aggios.app/cadastro/crm-rapido
Cliente preenche:
- Email: contato@dhprojects.com
- Senha: ********
- Subdomínio: dhprojects
- Empresa: DH Projects
Resultado:
✅ Tenant criado: dhprojects.aggios.app
✅ Módulo CRM habilitado
✅ Outros módulos desabilitados
Estrutura Técnica
Backend:
- Tabela:
signup_templates - Repository:
SignupTemplateRepository - Handlers:
/api/admin/signup-templates(CRUD) - Handler público:
/api/signup-templates/slug/{slug}(renderiza form)
Frontend:
- Gerenciamento:
dash.aggios.app/superadmin/signup-templates - Cadastro público:
aggios.app/cadastro/{slug}
Campos Disponíveis:
- email, password, subdomain (obrigatórios)
- company_name, cnpj, phone, address, city, state, zipcode (opcionais)
Módulos Disponíveis:
- CRM, ERP, PROJECTS, FINANCIAL, INVENTORY, HR
Benefícios
✅ Cadastro rápido para clientes específicos ✅ Coleta apenas informações necessárias ✅ Habilita somente módulos contratados ✅ Reduz fricção no onboarding ✅ Personalização por caso de uso