@horizon-framework/website-dev-docs 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agents/AGENTE_FULLSTACK.md +209 -0
- package/agents/AGENTE_LAYOUT_DESIGNER.md +930 -0
- package/checklists/ADICIONAR_CAMPO.md +95 -0
- package/checklists/CRIAR_SITE_NOVO.md +163 -0
- package/checklists/PUBLICAR_SITE.md +75 -0
- package/checklists/TROCAR_CRM.md +96 -0
- package/commercial/PACOTES_PAGINAS.md +86 -0
- package/commercial/POSSIBILIDADES_VENDA.md +52 -0
- package/index.md +54 -0
- package/knowledge/API_PROPERTY.md +566 -0
- package/knowledge/ARQUITETURA_GERAL.md +169 -0
- package/knowledge/ARQUITETURA_MODULOS_WEB.md +241 -0
- package/knowledge/BATCH_TOTALS_API.md +200 -0
- package/knowledge/CAPABILITIES.md +190 -0
- package/knowledge/COMPONENTES_GLOBAIS_UI.md +407 -0
- package/knowledge/CRMS_INTEGRACOES.md +151 -0
- package/knowledge/DESIGN_AVANCADO.md +403 -0
- package/knowledge/DESIGN_SYSTEM_CATALOG.md +349 -0
- package/knowledge/DESIGN_TEMPLATES_CATALOG.md +61 -0
- package/knowledge/DOMINIO_ENTIDADES.md +328 -0
- package/knowledge/HOOKS_REGISTRY.md +127 -0
- package/knowledge/MODULE_CREATION_PATTERN.md +624 -0
- package/knowledge/NAVEGACAO_DINAMICA.md +233 -0
- package/knowledge/PAGINAS_BASICAS.md +63 -0
- package/knowledge/SEARCH_ENGINE_API.md +1038 -0
- package/knowledge/SISTEMA_MODULAR.md +109 -0
- package/knowledge/SISTEMA_SCHEMAS.md +126 -0
- package/knowledge/SSOT_SPECIFICATION_V2.md +333 -0
- package/knowledge/UI_KIT_COMPLETO.md +125 -0
- package/modules/property/MODULO_IMOBILIARIO.md +356 -0
- package/package.json +17 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Checklist: Adicionar Campo — 13 Arquivos que Mudam
|
|
2
|
+
|
|
3
|
+
> Ao adicionar ou remover campo na busca, cards ou pagina do imovel.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## MAPA: Por onde um campo percorre
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
CRM externo → Pacote conversor → API entity-schema → Banco → Frontend schema
|
|
11
|
+
→ fields-lists → select-fields → busca → cards → pagina → impressao
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
**SE ESQUECER QUALQUER PONTO, O CAMPO NAO FUNCIONA.**
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Arquivos que Mudam (ate 13)
|
|
19
|
+
|
|
20
|
+
### Backend (apps/api/)
|
|
21
|
+
|
|
22
|
+
1. **entity-schema.ts** — Adicionar campo com key, type, categories, ui.label, audit
|
|
23
|
+
2. **create.sql** — ALTER TABLE adicionar coluna (se campo novo no banco)
|
|
24
|
+
3. **generated-columns.sql** — Adicionar ao FTS tsvector (se campo textual buscavel)
|
|
25
|
+
4. **computedFields/index.ts** — Se campo e computed (derivado de outros)
|
|
26
|
+
|
|
27
|
+
### Prisma
|
|
28
|
+
5. **Sync Prisma** — `npx prisma db pull` + `pnpm db:patch-relations` + `npx prisma generate`
|
|
29
|
+
|
|
30
|
+
### Frontend Schema
|
|
31
|
+
6. **schema.generated.json** — Regenerar: `npx tsx scripts/generate-schema.ts`
|
|
32
|
+
|
|
33
|
+
### Frontend Listas
|
|
34
|
+
7. **fields-lists.ts** — Adicionar campo na lista de atributos (FIELD_LISTS_REGISTRY)
|
|
35
|
+
8. **select-fields.config.ts** — Adicionar campo no select dos cards
|
|
36
|
+
|
|
37
|
+
### Frontend Busca
|
|
38
|
+
9. **search-list/schema.ts** — Adicionar campo no schema Zod da busca
|
|
39
|
+
10. **search-list/config/schema.ts** — Adicionar facet config
|
|
40
|
+
11. **search-list/components/fields/** — Criar componente de filtro (se necessario)
|
|
41
|
+
|
|
42
|
+
### Frontend Display
|
|
43
|
+
12. **Resolvers** — Se campo precisa de resolver especifico
|
|
44
|
+
13. **item-print** — Se campo deve aparecer na impressao
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Protocolo Passo a Passo
|
|
49
|
+
|
|
50
|
+
### Etapa 1 — Backend
|
|
51
|
+
- [ ] Adicionar campo no entity-schema.ts (key, type, categories, ui, audit)
|
|
52
|
+
- [ ] Se campo novo no banco: `ALTER TABLE "Property" ADD COLUMN IF NOT EXISTS "campo" TIPO DEFAULT valor;`
|
|
53
|
+
- [ ] Se campo textual buscavel: adicionar ao generated-columns.sql (FTS)
|
|
54
|
+
- [ ] Se campo computed: adicionar logica em computedFields/index.ts
|
|
55
|
+
- [ ] Verificar: campo correto no entity-schema
|
|
56
|
+
|
|
57
|
+
### Etapa 2 — Prisma
|
|
58
|
+
- [ ] `npx prisma db pull`
|
|
59
|
+
- [ ] `pnpm db:patch-relations`
|
|
60
|
+
- [ ] `npx prisma generate`
|
|
61
|
+
- [ ] Verificar: prisma generate sem erros
|
|
62
|
+
|
|
63
|
+
### Etapa 3 — Reiniciar API
|
|
64
|
+
- [ ] REINICIAR A API (obrigatorio! Prisma Client cacheado!)
|
|
65
|
+
- [ ] Verificar: API inicia sem erros
|
|
66
|
+
- [ ] Se campo computed: re-sincronizar dados (upload)
|
|
67
|
+
|
|
68
|
+
### Etapa 4 — Frontend Schema
|
|
69
|
+
- [ ] `cd apps/web && npx tsx scripts/generate-schema.ts`
|
|
70
|
+
- [ ] Verificar: campo aparece no schema.generated.json
|
|
71
|
+
|
|
72
|
+
### Etapa 5 — Frontend Listas
|
|
73
|
+
- [ ] Adicionar campo em fields-lists.ts (se deve aparecer na pagina)
|
|
74
|
+
- [ ] Adicionar campo em select-fields.config.ts (se deve aparecer no card)
|
|
75
|
+
|
|
76
|
+
### Etapa 6 — Frontend Busca (se campo filtravel)
|
|
77
|
+
- [ ] Adicionar no schema Zod da busca
|
|
78
|
+
- [ ] Adicionar config de facet
|
|
79
|
+
- [ ] Criar componente de filtro se necessario
|
|
80
|
+
|
|
81
|
+
### Etapa 7 — Verificacao
|
|
82
|
+
- [ ] Rodar inspect-fields
|
|
83
|
+
- [ ] Testar: campo aparece na pagina do imovel
|
|
84
|
+
- [ ] Testar: campo aparece no card (se adicionado)
|
|
85
|
+
- [ ] Testar: filtro funciona na busca (se adicionado)
|
|
86
|
+
- [ ] `next build` sem erros
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Regras
|
|
91
|
+
|
|
92
|
+
1. **Campos BOOLEAN em listas** — SEMPRE filtrar `.filter(f => f.value === true)` apos getFieldsByKeys
|
|
93
|
+
2. **SEMPRE reiniciar API** apos mudancas no banco/Prisma
|
|
94
|
+
3. **SEMPRE regenerar schema** apos mudancas no entity-schema
|
|
95
|
+
4. **NUNCA usar ALTER TABLE** para adicionar coluna em tabela que nao existe (so ao trocar CRM inteiro)
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# Checklist: Criar Site Novo — Template Horizon ate Publicacao
|
|
2
|
+
|
|
3
|
+
> Checklist completa para transformar o template Horizon base em um site de cliente.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Fase 1 — Setup Inicial
|
|
8
|
+
|
|
9
|
+
- [ ] Clonar template Horizon base (horizon-starter-2.x)
|
|
10
|
+
- [ ] Criar repositorio no GitHub para o cliente
|
|
11
|
+
- [ ] Configurar pnpm install em todos os apps (web, api, automations)
|
|
12
|
+
- [ ] Criar banco PostgreSQL no DigitalOcean (ou provider)
|
|
13
|
+
- [ ] Executar extensoes PostGIS: `pnpm db:setup`
|
|
14
|
+
- [ ] Criar tabelas: `pnpm db:create`
|
|
15
|
+
- [ ] Gerar Prisma client: `npx prisma generate`
|
|
16
|
+
- [ ] Configurar .env em cada app (web, api, automations)
|
|
17
|
+
- [ ] Testar: API rodando na porta 5000
|
|
18
|
+
- [ ] Testar: Web rodando na porta 3001
|
|
19
|
+
- [ ] Testar: Automations rodando na porta 8080
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Fase 2 — Identidade do Cliente
|
|
24
|
+
|
|
25
|
+
### Branding
|
|
26
|
+
- [ ] Trocar logo (`/public/brand/logo.svg` ou similar)
|
|
27
|
+
- [ ] Trocar favicon (`/public/brand/favicon.png`)
|
|
28
|
+
- [ ] Trocar OG image (`/public/brand/og-image.svg`, 800x450)
|
|
29
|
+
- [ ] Trocar cores primaria/secundaria no tema (tailwind config ou CSS vars)
|
|
30
|
+
- [ ] Trocar nome no title suffix (`capabilities/metatags/seo.ts`)
|
|
31
|
+
|
|
32
|
+
### Contatos
|
|
33
|
+
- [ ] Editar `capabilities/contacts/data/contacts.data.ts` — telefones, emails, WhatsApp
|
|
34
|
+
- [ ] Editar redes sociais — Instagram, Facebook, etc.
|
|
35
|
+
- [ ] Configurar WhatsAppProvider — numero, mensagem, avatar do atendente
|
|
36
|
+
|
|
37
|
+
### Textos Institucionais
|
|
38
|
+
- [ ] Trocar conteudo da pagina Quem Somos
|
|
39
|
+
- [ ] Trocar enderecos na pagina Localizacao
|
|
40
|
+
- [ ] Trocar textos na pagina Contato
|
|
41
|
+
- [ ] Trocar nome empresa nos Termos de Uso
|
|
42
|
+
- [ ] Trocar nome empresa na Politica de Privacidade
|
|
43
|
+
- [ ] Trocar texto da pagina Anuncie
|
|
44
|
+
- [ ] Trocar texto da pagina Encomende
|
|
45
|
+
- [ ] Trocar texto da pagina Obrigado
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Fase 3 — Integracao CRM
|
|
50
|
+
|
|
51
|
+
- [ ] Definir CRM do cliente (Jetimob, SI9, Publisher, Arbo)
|
|
52
|
+
- [ ] Instalar pacote CRM no backend: `pnpm add @horizon-integrations/{crm}-crm`
|
|
53
|
+
- [ ] Ler FICHA_TECNICA_INTEGRACAO.md do pacote CRM
|
|
54
|
+
- [ ] Configurar entity-schema.ts com schema do CRM
|
|
55
|
+
- [ ] Recriar tabela no banco com novos campos
|
|
56
|
+
- [ ] Sincronizar Prisma: `npx prisma db pull && npx prisma generate`
|
|
57
|
+
- [ ] Reiniciar API
|
|
58
|
+
- [ ] Fazer primeiro sync de dados (upload imoveis)
|
|
59
|
+
- [ ] Verificar: imoveis aparecendo na API
|
|
60
|
+
- [ ] Regenerar schema no frontend: `npx tsx scripts/generate-schema.ts`
|
|
61
|
+
- [ ] Verificar: imoveis aparecendo no site
|
|
62
|
+
- [ ] Rodar inspect-fields para verificar cobertura de campos
|
|
63
|
+
- [ ] Ajustar campos na busca (search-list/config)
|
|
64
|
+
- [ ] Ajustar campos nos cards (select-fields.config.ts)
|
|
65
|
+
- [ ] Ajustar campos na pagina do imovel (fields-lists.ts)
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Fase 4 — Configuracao do Frontend
|
|
70
|
+
|
|
71
|
+
### Home Page
|
|
72
|
+
- [ ] Trocar hero (imagem, titulo, subtitulo)
|
|
73
|
+
- [ ] Configurar barra de busca (campos, opcoes)
|
|
74
|
+
- [ ] Configurar vitrines de destaque (filtros)
|
|
75
|
+
- [ ] Trocar categorias do carousel
|
|
76
|
+
- [ ] Trocar depoimentos (se houver)
|
|
77
|
+
|
|
78
|
+
### Navegacao
|
|
79
|
+
- [ ] Verificar menus dinamicos (Venda, Locacao) — automatico via API
|
|
80
|
+
- [ ] Ajustar menus estaticos (Especiais, Institucional)
|
|
81
|
+
- [ ] Verificar footer
|
|
82
|
+
- [ ] Verificar menu mobile
|
|
83
|
+
|
|
84
|
+
### Busca de Imoveis
|
|
85
|
+
- [ ] Verificar filtros disponiveis
|
|
86
|
+
- [ ] Verificar facets funcionando
|
|
87
|
+
- [ ] Verificar mapa (se lat/lng disponiveis)
|
|
88
|
+
- [ ] Verificar paginacao
|
|
89
|
+
- [ ] Verificar ordenacao
|
|
90
|
+
|
|
91
|
+
### Pagina do Imovel
|
|
92
|
+
- [ ] Verificar fotos/galeria
|
|
93
|
+
- [ ] Verificar campos de atributos
|
|
94
|
+
- [ ] Verificar formulario de contato
|
|
95
|
+
- [ ] Verificar imoveis similares
|
|
96
|
+
- [ ] Verificar botao WhatsApp
|
|
97
|
+
- [ ] Verificar impressao (print)
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Fase 5 — Marketing e SEO
|
|
102
|
+
|
|
103
|
+
- [ ] Configurar Google Tag Manager ID (`capabilities/code-snippets/scripts-marketing.tsx`)
|
|
104
|
+
- [ ] Configurar Google Analytics ID
|
|
105
|
+
- [ ] Configurar Facebook Pixel ID
|
|
106
|
+
- [ ] Verificar sitemap.xml funcionando
|
|
107
|
+
- [ ] Verificar meta tags em cada pagina
|
|
108
|
+
- [ ] Verificar OG tags para compartilhamento
|
|
109
|
+
- [ ] Configurar redirects se necessario (`capabilities/redirects/`)
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Fase 6 — Automations (Leads)
|
|
114
|
+
|
|
115
|
+
- [ ] Configurar RESEND_API_KEY (emails)
|
|
116
|
+
- [ ] Configurar chaves do CRM (se enviar leads pro CRM)
|
|
117
|
+
- [ ] Testar envio de lead pelo formulario de contato
|
|
118
|
+
- [ ] Verificar email chegando
|
|
119
|
+
- [ ] Verificar lead chegando no CRM (se configurado)
|
|
120
|
+
- [ ] Configurar CORS para dominio do cliente
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Fase 7 — Deploy Vercel
|
|
125
|
+
|
|
126
|
+
- [ ] Criar projeto WEB na Vercel
|
|
127
|
+
- [ ] Criar projeto API na Vercel (region gru1)
|
|
128
|
+
- [ ] Criar projeto AUTOMATIONS na Vercel
|
|
129
|
+
- [ ] Configurar variaveis de ambiente em cada projeto
|
|
130
|
+
- [ ] Fazer primeiro deploy de cada app
|
|
131
|
+
- [ ] Testar: site funcionando no dominio Vercel
|
|
132
|
+
- [ ] Configurar dominio customizado do cliente
|
|
133
|
+
- [ ] Configurar DNS (A record ou CNAME)
|
|
134
|
+
- [ ] Verificar SSL (automatico Vercel)
|
|
135
|
+
- [ ] Testar: site funcionando no dominio do cliente
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Fase 8 — Verificacao Final
|
|
140
|
+
|
|
141
|
+
- [ ] Testar TODAS as paginas basicas no desktop
|
|
142
|
+
- [ ] Testar TODAS as paginas basicas no mobile
|
|
143
|
+
- [ ] Testar formularios (contato, anuncie, encomende)
|
|
144
|
+
- [ ] Testar busca de imoveis (filtros, mapa, paginacao)
|
|
145
|
+
- [ ] Testar favoritos
|
|
146
|
+
- [ ] Testar compartilhamento
|
|
147
|
+
- [ ] Testar impressao de imovel
|
|
148
|
+
- [ ] Testar WhatsApp flutuante
|
|
149
|
+
- [ ] Testar links de redes sociais
|
|
150
|
+
- [ ] Verificar Google Analytics recebendo dados
|
|
151
|
+
- [ ] Verificar performance (Lighthouse > 80)
|
|
152
|
+
- [ ] Verificar SEO (meta tags, sitemap, robots.txt)
|
|
153
|
+
- [ ] `next build` sem erros em web e api
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Fase 9 — Documentacao do Cliente
|
|
158
|
+
|
|
159
|
+
- [ ] Criar `/ai/horizon.config.md` com dados do cliente
|
|
160
|
+
- [ ] Criar `/ai/client/INFO.md` com informacoes do cliente
|
|
161
|
+
- [ ] Criar `/ai/client/CUSTOMIZACOES.md` com campos extras
|
|
162
|
+
- [ ] Atualizar Notion do cliente com estado do projeto
|
|
163
|
+
- [ ] Registrar no Notion: dominio, CRM, modulos, paginas ativas
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Checklist: Publicar Site — Deploy Vercel + Dominio
|
|
2
|
+
|
|
3
|
+
> Passos para colocar o site em producao.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Fase 1 — Build Local
|
|
8
|
+
|
|
9
|
+
- [ ] `cd apps/web && pnpm build` — sem erros
|
|
10
|
+
- [ ] `cd apps/api && pnpm build` — sem erros
|
|
11
|
+
- [ ] `cd apps/automations && pnpm build` — sem erros
|
|
12
|
+
- [ ] Verificar: TypeScript sem erros em todos os apps
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Fase 2 — Criar Projetos na Vercel
|
|
17
|
+
|
|
18
|
+
### API
|
|
19
|
+
- [ ] Criar projeto na Vercel: nome `{cliente}-api`
|
|
20
|
+
- [ ] Root directory: `apps/api`
|
|
21
|
+
- [ ] Framework: Next.js
|
|
22
|
+
- [ ] Region: gru1 (Sao Paulo)
|
|
23
|
+
- [ ] Configurar env vars: DATABASE_URL, API_SECRET_KEY, API_BASE_URL, FRONTEND_BASE_URL
|
|
24
|
+
- [ ] Deploy
|
|
25
|
+
|
|
26
|
+
### Web
|
|
27
|
+
- [ ] Criar projeto na Vercel: nome `{cliente}-web`
|
|
28
|
+
- [ ] Root directory: `apps/web`
|
|
29
|
+
- [ ] Framework: Next.js
|
|
30
|
+
- [ ] Configurar env vars: API_SECRET_KEY, ADMIN_PASSWORD, NEXT_PUBLIC_SITE_URL, NEXT_PUBLIC_API_URL, NEXT_PUBLIC_AUTOMATIONS_URL
|
|
31
|
+
- [ ] Atualizar NEXT_PUBLIC_API_URL para URL da API na Vercel
|
|
32
|
+
- [ ] Deploy
|
|
33
|
+
|
|
34
|
+
### Automations
|
|
35
|
+
- [ ] Criar projeto na Vercel: nome `{cliente}-automations`
|
|
36
|
+
- [ ] Root directory: `apps/automations`
|
|
37
|
+
- [ ] Framework: Next.js
|
|
38
|
+
- [ ] Configurar env vars: API_SECRET_KEY, RESEND_API_KEY, chaves CRM, NEXT_PUBLIC_API_URL
|
|
39
|
+
- [ ] Atualizar CORS allowed origins com dominio do cliente
|
|
40
|
+
- [ ] Deploy
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Fase 3 — Dominio Customizado
|
|
45
|
+
|
|
46
|
+
- [ ] Adicionar dominio no projeto Web da Vercel
|
|
47
|
+
- [ ] Configurar DNS no registrador do cliente:
|
|
48
|
+
- A record: `76.76.21.21` (Vercel)
|
|
49
|
+
- CNAME www: `cname.vercel-dns.com`
|
|
50
|
+
- [ ] Aguardar propagacao DNS (ate 48h, geralmente minutos)
|
|
51
|
+
- [ ] Verificar SSL automatico (Vercel gera certificado)
|
|
52
|
+
- [ ] Testar: site acessivel pelo dominio do cliente
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Fase 4 — Pos-Deploy
|
|
57
|
+
|
|
58
|
+
- [ ] Verificar: todas as paginas carregando
|
|
59
|
+
- [ ] Verificar: API respondendo (testar /api/property/search)
|
|
60
|
+
- [ ] Verificar: leads chegando (formulario de contato)
|
|
61
|
+
- [ ] Verificar: emails sendo enviados (Resend)
|
|
62
|
+
- [ ] Verificar: Google Analytics recebendo dados
|
|
63
|
+
- [ ] Verificar: sitemap.xml acessivel
|
|
64
|
+
- [ ] Verificar: robots.txt correto
|
|
65
|
+
- [ ] Verificar: OG tags funcionando (compartilhar no WhatsApp/Facebook)
|
|
66
|
+
- [ ] Verificar: performance Lighthouse > 80
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## IMPORTANTE
|
|
71
|
+
|
|
72
|
+
- NUNCA matar portas do frontend (3000, 3001) — pode ter OUTRO site rodando
|
|
73
|
+
- API backend (5000) — pode matar e reiniciar livremente
|
|
74
|
+
- Atualizar NEXT_PUBLIC URLs apos deploy (apontam para Vercel, nao localhost)
|
|
75
|
+
- CORS do automations deve incluir dominio de producao do cliente
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Checklist: Trocar CRM — Migrar de um Provedor para Outro
|
|
2
|
+
|
|
3
|
+
> 25+ passos para migrar completamente de um CRM para outro.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Pre-requisitos
|
|
8
|
+
|
|
9
|
+
- [ ] Saber CRM atual e CRM destino
|
|
10
|
+
- [ ] Ter pacote NPM do CRM destino disponivel (`@horizon-integrations/{crm}-crm`)
|
|
11
|
+
- [ ] Ler FICHA_TECNICA_INTEGRACAO.md do CRM destino
|
|
12
|
+
- [ ] Ter credenciais de API do novo CRM
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Fase 1 — Backend
|
|
17
|
+
|
|
18
|
+
### Pacote CRM
|
|
19
|
+
- [ ] Instalar novo pacote: `cd apps/api && pnpm add @horizon-integrations/{novo-crm}-crm`
|
|
20
|
+
- [ ] Remover pacote antigo: `pnpm remove @horizon-integrations/{antigo-crm}-crm`
|
|
21
|
+
- [ ] Atualizar package.json
|
|
22
|
+
|
|
23
|
+
### Entity Schema
|
|
24
|
+
- [ ] Abrir `src/modules/property/schemas/entity-schema.ts`
|
|
25
|
+
- [ ] Trocar import do schema: de `{antigo}` para `{novo}`
|
|
26
|
+
- [ ] Revisar overrides locais (podem ter campos que nao existem no novo CRM)
|
|
27
|
+
- [ ] Revisar computed fields (podem depender de campos do CRM antigo)
|
|
28
|
+
- [ ] Verificar: key, type, categories, ui.label corretos para cada campo
|
|
29
|
+
|
|
30
|
+
### Banco de Dados
|
|
31
|
+
- [ ] DROP tabela Property: `pnpm db:drop` (CUIDADO: perde dados!)
|
|
32
|
+
- [ ] Recriar tabela com novos campos: `pnpm db:create`
|
|
33
|
+
- [ ] Executar generated-columns.sql (FTS, PostGIS)
|
|
34
|
+
- [ ] Sincronizar Prisma: `npx prisma db pull`
|
|
35
|
+
- [ ] Patch relations: `pnpm db:patch-relations`
|
|
36
|
+
- [ ] Gerar client: `npx prisma generate`
|
|
37
|
+
- [ ] Verificar: `SELECT column_name FROM information_schema.columns WHERE table_name='Property'`
|
|
38
|
+
|
|
39
|
+
### API
|
|
40
|
+
- [ ] Reiniciar API (Prisma Client e cacheado!)
|
|
41
|
+
- [ ] Verificar: API inicia sem erros
|
|
42
|
+
- [ ] Configurar credenciais do novo CRM no .env
|
|
43
|
+
- [ ] Fazer primeiro sync de dados (upload)
|
|
44
|
+
- [ ] Verificar: dados chegando corretamente
|
|
45
|
+
- [ ] Verificar: 0 erros no sync
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Fase 2 — Frontend
|
|
50
|
+
|
|
51
|
+
### Schema
|
|
52
|
+
- [ ] Regenerar schema: `cd apps/web && npx tsx scripts/generate-schema.ts`
|
|
53
|
+
- [ ] Verificar: campo aparece no schema.generated.json
|
|
54
|
+
|
|
55
|
+
### Busca
|
|
56
|
+
- [ ] Revisar `search-list/config/schema.ts` — facets podem ter mudado
|
|
57
|
+
- [ ] Revisar componentes de filtro — campos podem nao existir mais
|
|
58
|
+
- [ ] Revisar ranges — valores min/max podem ser diferentes
|
|
59
|
+
- [ ] Testar: busca funcionando com novos campos
|
|
60
|
+
|
|
61
|
+
### Cards
|
|
62
|
+
- [ ] Revisar `select-fields.config.ts` — campos do card
|
|
63
|
+
- [ ] Verificar: campos existem no novo schema
|
|
64
|
+
- [ ] Testar: cards renderizando corretamente
|
|
65
|
+
|
|
66
|
+
### Pagina do Imovel
|
|
67
|
+
- [ ] Revisar `fields-lists.ts` (FIELD_LISTS_REGISTRY)
|
|
68
|
+
- [ ] Verificar: campos de atributos existem
|
|
69
|
+
- [ ] Verificar: labels corretos
|
|
70
|
+
- [ ] Testar: pagina renderizando corretamente
|
|
71
|
+
|
|
72
|
+
### Navegacao
|
|
73
|
+
- [ ] Menus dinamicos se adaptam automaticamente (vem da API)
|
|
74
|
+
- [ ] Verificar: contagens atualizadas nos menus
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Fase 3 — Verificacao
|
|
79
|
+
|
|
80
|
+
- [ ] Rodar inspect-fields: `npx tsx src/modules/property/core/cli/inspect-fields.ts`
|
|
81
|
+
- [ ] Verificar: cobertura de campos (publicos, orfaos, ocultos)
|
|
82
|
+
- [ ] Acessar `/imovel/inspect/{referencia}` — tab "Exibicao dos campos"
|
|
83
|
+
- [ ] Verificar: nenhum campo orfao critico
|
|
84
|
+
- [ ] Testar: busca completa (filtros, facets, mapa)
|
|
85
|
+
- [ ] Testar: pagina do imovel completa
|
|
86
|
+
- [ ] Testar: cards na listagem
|
|
87
|
+
- [ ] `next build` sem erros
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Fase 4 — Automations
|
|
92
|
+
|
|
93
|
+
- [ ] Atualizar credenciais do novo CRM no .env do automations
|
|
94
|
+
- [ ] Atualizar pacote CRM no automations (se usado la)
|
|
95
|
+
- [ ] Testar: sync automatico funcionando
|
|
96
|
+
- [ ] Testar: leads chegando no novo CRM
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Pacotes Comerciais — Horizon Platform
|
|
2
|
+
|
|
3
|
+
> Definicao dos pacotes de venda do Horizon.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Horizon Starter 2.0 — Pacote Base (R$ 6.200)
|
|
8
|
+
|
|
9
|
+
### O que inclui
|
|
10
|
+
|
|
11
|
+
**14 paginas basicas:**
|
|
12
|
+
1. Home Page
|
|
13
|
+
2. Busca/Lista de Imoveis (com filtros avancados)
|
|
14
|
+
3. Pagina do Imovel (detalhes completos)
|
|
15
|
+
4. Perfil do Corretor
|
|
16
|
+
5. Favoritos
|
|
17
|
+
6. Imoveis Compartilhados
|
|
18
|
+
7. Quem Somos
|
|
19
|
+
8. Localizacao/Unidades
|
|
20
|
+
9. Formulario de Contato
|
|
21
|
+
10. Financiamento
|
|
22
|
+
11. Anuncie seu Imovel
|
|
23
|
+
12. Encomende seu Imovel
|
|
24
|
+
13. Pagina de Agradecimento
|
|
25
|
+
14. Termos de Uso + Politica de Privacidade
|
|
26
|
+
|
|
27
|
+
**Modulo imobiliario completo:**
|
|
28
|
+
- Integracao com 1 CRM (configuravel)
|
|
29
|
+
- Busca avancada com filtros dinamicos
|
|
30
|
+
- Mapa com geolocalizacao
|
|
31
|
+
- Favoritos e compartilhamento
|
|
32
|
+
- SEO otimizado (sitemap, meta tags)
|
|
33
|
+
- Full-text search em portugues
|
|
34
|
+
|
|
35
|
+
**Infraestrutura inclusa:**
|
|
36
|
+
- Deploy Vercel (web + api + automations)
|
|
37
|
+
- Banco PostgreSQL com PostGIS
|
|
38
|
+
- Envio de leads por email (Resend)
|
|
39
|
+
- Widget WhatsApp flutuante
|
|
40
|
+
- Google Analytics + GTM
|
|
41
|
+
- Multilingue (PT, EN, ES)
|
|
42
|
+
- Responsivo (mobile-first)
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Paginas Avancadas — Sob Medida (orcamento separado)
|
|
47
|
+
|
|
48
|
+
Paginas customizadas desenvolvidas especificamente para o cliente:
|
|
49
|
+
- Pagina de imoveis premium/luxo
|
|
50
|
+
- Blog integrado
|
|
51
|
+
- Area do cliente (portal)
|
|
52
|
+
- Pagina para investidores
|
|
53
|
+
- Pagina para estrangeiros
|
|
54
|
+
- Pagina de equipe/corretores
|
|
55
|
+
- Galeria Instagram integrada
|
|
56
|
+
- Pagina setor agro/rural
|
|
57
|
+
- FAQ interativo
|
|
58
|
+
- Depoimentos
|
|
59
|
+
- Qualquer pagina institucional customizada
|
|
60
|
+
|
|
61
|
+
**Referencia de estilo:** Ver paginas avancadas do projeto Guise (8 paginas de exemplo).
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Modulos Adicionais — Expansoes (orcamento separado)
|
|
66
|
+
|
|
67
|
+
| Modulo | Descricao | Status |
|
|
68
|
+
|---|---|---|
|
|
69
|
+
| Corretor (avancado) | Perfis completos, busca por corretor | Disponivel |
|
|
70
|
+
| Blog | Sistema de posts com MDX | Futuro |
|
|
71
|
+
| Condominio/Empreendimento | Integracao com CRM | Futuro |
|
|
72
|
+
| Instagram Advanced | Feed integrado com categorias | Futuro |
|
|
73
|
+
| Cidade e Bairros | Guia de bairros com dados | Futuro |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Integracoes CRM — Disponiveis
|
|
78
|
+
|
|
79
|
+
| CRM | Pacote | Pronto |
|
|
80
|
+
|---|---|---|
|
|
81
|
+
| Jetimob | @horizon-integrations/jetimob-crm | Sim |
|
|
82
|
+
| SI9 | @horizon-integrations/si9-crm | Sim |
|
|
83
|
+
| Publisher | @horizon-integrations/publisher-crm | Sim |
|
|
84
|
+
| Arbo | @horizon-integrations/arbo-crm | Sim |
|
|
85
|
+
| Vista | (futuro) | Nao |
|
|
86
|
+
| Flexpro | (futuro) | Nao |
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Possibilidades de Venda — O que Oferecer ao Cliente
|
|
2
|
+
|
|
3
|
+
> Lista de servicos e expansoes que podem ser vendidos alem do pacote base.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Expansoes de Paginas
|
|
8
|
+
|
|
9
|
+
| Pagina | Complexidade | Valor Sugerido | Exemplo |
|
|
10
|
+
|---|---|---|---|
|
|
11
|
+
| Pagina institucional simples | Baixa | R$ 500-800 | FAQ, Depoimentos |
|
|
12
|
+
| Pagina institucional avancada | Media | R$ 1.000-2.000 | Equipe, Sobre Nos customizado |
|
|
13
|
+
| Pagina de produto/servico | Media | R$ 1.500-2.500 | Imoveis Premium, Investidores |
|
|
14
|
+
| Portal do cliente | Alta | R$ 3.000-5.000 | Area do Cliente com subpaginas |
|
|
15
|
+
| Blog completo | Alta | R$ 2.000-4.000 | Posts, categorias, busca |
|
|
16
|
+
| Landing page campanha | Baixa | R$ 800-1.500 | Lancamento, promocao |
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Expansoes de Modulos
|
|
21
|
+
|
|
22
|
+
| Modulo | O que faz | Valor Sugerido |
|
|
23
|
+
|---|---|---|
|
|
24
|
+
| Corretor avancado | Perfis, busca, showcase | R$ 1.500-2.500 |
|
|
25
|
+
| Condominio | Empreendimentos com plantas | R$ 3.000-5.000 |
|
|
26
|
+
| Blog + MDX | Posts ricos com componentes | R$ 2.000-3.000 |
|
|
27
|
+
| Instagram Feed | Feed integrado, categorias | R$ 1.000-2.000 |
|
|
28
|
+
| Guia de Bairros | Mapas, dados, fotos | R$ 2.000-3.500 |
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Servicos Recorrentes
|
|
33
|
+
|
|
34
|
+
| Servico | Descricao | Valor Mensal |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| Manutencao | Updates, correcoess, ajustes | R$ 300-600/mes |
|
|
37
|
+
| SEO avancado | Otimizacao continua | R$ 500-1.000/mes |
|
|
38
|
+
| Conteudo | Paginas novas, blog posts | Sob demanda |
|
|
39
|
+
| Integracao CRM novo | Trocar/adicionar CRM | R$ 1.000-2.000 (unico) |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Como Identificar Oportunidades
|
|
44
|
+
|
|
45
|
+
O agente UX pode analisar o site do cliente e identificar:
|
|
46
|
+
1. **Paginas faltando** — ex: cliente nao tem FAQ, depoimentos
|
|
47
|
+
2. **Modulos uteis** — ex: cliente tem corretores mas nao tem modulo broker avancado
|
|
48
|
+
3. **Integracoes** — ex: cliente usa CRM que ainda nao tem conversor
|
|
49
|
+
4. **Melhorias visuais** — ex: paginas basicas que podem ser "upadas" para avancadas
|
|
50
|
+
5. **Performance** — ex: SEO que pode ser melhorado
|
|
51
|
+
|
|
52
|
+
Essas informacoes ficam em `/ai/client/ANOTACOES.md` e no Notion do cliente.
|
package/index.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Horizon Platform Docs — Website Dev Docs
|
|
2
|
+
|
|
3
|
+
> Documentacao inteligente da plataforma Horizon para agentes de IA.
|
|
4
|
+
> Versao: 2.3.0
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Agentes (instrucoes de comportamento)
|
|
9
|
+
- [AGENTE_FULLSTACK.md](./agents/AGENTE_FULLSTACK.md) — Desenvolvedor full stack completo: backend, frontend, banco, deploy
|
|
10
|
+
- [AGENTE_LAYOUT_DESIGNER.md](./agents/AGENTE_LAYOUT_DESIGNER.md) — Regras de UI/UX, tipografia, cores, secoes, componentes visuais
|
|
11
|
+
- [AGENTE_UX_CLIENTE.md](./agents/AGENTE_UX_CLIENTE.md) — Relacionamento com cliente, Notion, vendas, experiencia do usuario
|
|
12
|
+
|
|
13
|
+
## Knowledge — Arquitetura Geral
|
|
14
|
+
- [ARQUITETURA_GERAL.md](./knowledge/ARQUITETURA_GERAL.md) — 5 partes: web, api, automacao, /ai/, /dev/
|
|
15
|
+
- [SISTEMA_MODULAR.md](./knowledge/SISTEMA_MODULAR.md) — Como funcionam modulos, como criar/instalar novos
|
|
16
|
+
- [SISTEMA_SCHEMAS.md](./knowledge/SISTEMA_SCHEMAS.md) — Domain models, 45 campos base, SSOT, conversores CRM
|
|
17
|
+
|
|
18
|
+
## Knowledge — API e Backend
|
|
19
|
+
- [API_PROPERTY.md](./knowledge/API_PROPERTY.md) — Stack, arquitetura, endpoints da API
|
|
20
|
+
- [SEARCH_ENGINE_API.md](./knowledge/SEARCH_ENGINE_API.md) — Motor de busca, facets, pagination, cursor vs offset
|
|
21
|
+
- [BATCH_TOTALS_API.md](./knowledge/BATCH_TOTALS_API.md) — API batch totals, contagens dinamicas
|
|
22
|
+
- [SSOT_SPECIFICATION_V2.md](./knowledge/SSOT_SPECIFICATION_V2.md) — Spec SSOT v2.0, metadados hierarquicos
|
|
23
|
+
- [MODULE_CREATION_PATTERN.md](./knowledge/MODULE_CREATION_PATTERN.md) — Padrao de criacao de modulos backend + frontend
|
|
24
|
+
|
|
25
|
+
## Knowledge — Frontend e UI
|
|
26
|
+
- [ARQUITETURA_MODULOS_WEB.md](./knowledge/ARQUITETURA_MODULOS_WEB.md) — Arquitetura de modulos frontend (core/features)
|
|
27
|
+
- [NAVEGACAO_DINAMICA.md](./knowledge/NAVEGACAO_DINAMICA.md) — Sistema de navegacao dinamica, menus, fetchers
|
|
28
|
+
- [UI_KIT_COMPLETO.md](./knowledge/UI_KIT_COMPLETO.md) — shadcn + extras Horizon + todos componentes
|
|
29
|
+
- [HOOKS_REGISTRY.md](./knowledge/HOOKS_REGISTRY.md) — Todos hooks (tema, responsive, scroll, animacao)
|
|
30
|
+
- [COMPONENTES_GLOBAIS_UI.md](./knowledge/COMPONENTES_GLOBAIS_UI.md) — Toast, modal, sheet, loading, etc.
|
|
31
|
+
- [CAPABILITIES.md](./knowledge/CAPABILITIES.md) — Contatos, redes sociais, WhatsApp, snippets, SEO, sitemap
|
|
32
|
+
|
|
33
|
+
## Knowledge — Design e Paginas
|
|
34
|
+
- [DESIGN_AVANCADO.md](./knowledge/DESIGN_AVANCADO.md) — Como criar paginas e secoes custom, estilo de design, composicoes
|
|
35
|
+
- [DESIGN_SYSTEM_CATALOG.md](./knowledge/DESIGN_SYSTEM_CATALOG.md) — Catalogo de secoes base
|
|
36
|
+
- [PAGINAS_BASICAS.md](./knowledge/PAGINAS_BASICAS.md) — Pacote 14 paginas que todo site Horizon tem
|
|
37
|
+
- [DESIGN_TEMPLATES_CATALOG.md](./knowledge/DESIGN_TEMPLATES_CATALOG.md) — Catalogo de templates: paginas, secoes, blocos prontos
|
|
38
|
+
|
|
39
|
+
## Knowledge — Dominio e Dados
|
|
40
|
+
- [DOMINIO_ENTIDADES.md](./knowledge/DOMINIO_ENTIDADES.md) — Fluxo de dados ponta a ponta
|
|
41
|
+
- [CRMS_INTEGRACOES.md](./knowledge/CRMS_INTEGRACOES.md) — Pacotes CRM, FICHA_TECNICA, normalizacao
|
|
42
|
+
|
|
43
|
+
## Checklists
|
|
44
|
+
- [CRIAR_SITE_NOVO.md](./checklists/CRIAR_SITE_NOVO.md) — Template ate publicacao (tudo que trocar)
|
|
45
|
+
- [TROCAR_CRM.md](./checklists/TROCAR_CRM.md) — Migrar de um CRM para outro (25+ passos)
|
|
46
|
+
- [ADICIONAR_CAMPO.md](./checklists/ADICIONAR_CAMPO.md) — 13 arquivos que mudam ao adicionar campo
|
|
47
|
+
- [PUBLICAR_SITE.md](./checklists/PUBLICAR_SITE.md) — Vercel, dominio, DNS, SEO
|
|
48
|
+
|
|
49
|
+
## Comercial
|
|
50
|
+
- [PACOTES_PAGINAS.md](./commercial/PACOTES_PAGINAS.md) — Basicas vs avancadas, o que vem incluso
|
|
51
|
+
- [POSSIBILIDADES_VENDA.md](./commercial/POSSIBILIDADES_VENDA.md) — Modulos, paginas, integracoes vendaveis
|
|
52
|
+
|
|
53
|
+
## Modulos
|
|
54
|
+
- [property/MODULO_IMOBILIARIO.md](./modules/property/MODULO_IMOBILIARIO.md) — Modulo imobiliario completo
|