Files
aggios.app/1. docs/mind-projeto-simples.md

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.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.


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