feat: redesign superadmin agencies list, implement flat design, add date filters, and fix UI bugs
This commit is contained in:
174
1. docs/mind-projeto-simples.md
Normal file
174
1. docs/mind-projeto-simples.md
Normal file
@@ -0,0 +1,174 @@
|
||||
# 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.app` com 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
|
||||
|
||||
1. **Agência se cadastra** → Cria subdomínio (ex: idealpages.aggios.app)
|
||||
2. **Agência personaliza** → Upload de logo, cores, identidade visual
|
||||
3. **Agência adiciona clientes** → Cada cliente recebe credenciais
|
||||
4. **Cliente acessa** → idealpages.aggios.app (vê marca da agência)
|
||||
5. **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
|
||||
|
||||
1. **SuperAdmin** acessa `dash.aggios.app/superadmin/signup-templates`
|
||||
2. **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`)
|
||||
3. **Compartilha link**: `aggios.app/cadastro/crm-rapido`
|
||||
4. **Cliente acessa** e vê formulário personalizado
|
||||
5. **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
|
||||
Reference in New Issue
Block a user