UNPKG

@horizon-modules/property-model-v3

Version:

Modelo de propriedades imobiliárias v3 - Sistema de atributos dinâmicos

177 lines (140 loc) 5.7 kB
# 📋 Resumo Executivo - Refatoração Property Model V3 ## 🎯 **O QUE FOI ENTENDIDO** ### **Problema Atual** - Property Model V3 tem gerador de dados fake básico - Usa imagens locais (pasta `assets/`) - Não tem dados baseados em exemplos reais - Falta profiling estatístico para geração inteligente - Estrutura de desenvolvimento inadequada ### **Solução Implementada no Arbo-CRM** O `@horizon-modules/arbo-crm-integration` já tem: - ✅ Download de dados reais da API Arbo - ✅ ProfilerService para análise estatística - ✅ FakeDataGeneratorService baseado em profiling - ✅ MockGeneratorService para testes - ✅ Estrutura `__dev__/` organizada - ✅ Scripts automatizados - ✅ Testes isolados com pastas temporárias - ✅ Imagens do Unsplash ### **Objetivo da Refatoração** Replicar toda a arquitetura do arbo-crm no property-model-v3, adaptando para gerar dados no formato `PropertyModel` ao invés do formato Arbo. --- ## 🏗️ **ARQUITETURA TARGET** ### **Fluxo de Dados** ``` Arbo CRM → ArboDownloaderService → PropertyModel → ProfilerService → → FakeDataGeneratorService → Dados Fake PropertyModel → → Seleção Manual → src/data/ → NPM Export ``` ### **Estrutura de Pastas** ``` property-model-v3/ ├── __dev__/ # 🚧 CRIAR TUDO │ ├── data/ # Dados temporários (não committados) │ ├── scripts/ # Scripts de desenvolvimento │ ├── services/ # Serviços específicos de dev │ └── tests/ # Testes dos serviços de dev ├── src/ │ ├── data/ # 🚧 CRIAR - Dados finais exportados │ ├── fake-data-generator/ # ✅ MODIFICAR - Migrar para Unsplash │ └── ... # ✅ Resto mantido └── docs/ # ✅ CRIADO ``` ### **Serviços Principais** 1. **ArboDownloaderService** - Baixa dados do arbo-crm e converte para PropertyModel 2. **ProfilerService** - Analisa PropertyModel e gera estatísticas 3. **FakeDataGeneratorService** - Gera PropertyModel fake baseado no profiling 4. **MockGeneratorService** - Gera mocks para testes --- ## ✅ **CHECKLIST RESUMIDO** ### **🏗️ FASE 1: Estrutura Base (CRÍTICA)** - [ ] Criar estrutura `__dev__/` completa - [ ] Adicionar dependência `@horizon-modules/arbo-crm-integration@^2.0.1` - [ ] Criar scripts npm para desenvolvimento - [x] ~~Remover pasta `/src/assets`~~ ### **🔧 FASE 2: Serviços Core (CRÍTICA)** - [ ] `ArboDownloaderService` - Integração com arbo-crm - [ ] `ProfilerService` - Análise de PropertyModel - [ ] `FakeDataGeneratorService` - Geração fake com Unsplash - [ ] `MockGeneratorService` - Mocks para testes ### **📜 FASE 3: Scripts (IMPORTANTE)** - [ ] `download-from-arbo.ts` - Pipeline de download - [ ] `profile-properties.ts` - Pipeline de profiling - [ ] `generate-fake-data.ts` - Pipeline de fake data - [ ] `generate-mocks.ts` - Pipeline de mocks ### **🧪 FASE 4: Testes (IMPORTANTE)** - [ ] Testes isolados para todos os serviços - [ ] Uso de pastas temporárias - [ ] Mock de APIs externas - [ ] Validação Zod em todos os dados ### **🎨 FASE 5: Migração Unsplash (CRÍTICA)** - [ ] Migrar `src/fake-data-generator/` para Unsplash - [ ] Remover dependência de imagens locais - [ ] Usar URLs testadas do arbo-crm ### **📊 FASE 6: Dados Finais (IMPORTANTE)** - [ ] Executar pipeline completo - [ ] Selecionar dados fake manualmente - [ ] Copiar para `src/data/` - [ ] Exportar no NPM --- ## 🚀 **COMANDOS PARA EXECUTAR** ### **Setup Inicial** ```bash npm install @horizon-modules/arbo-crm-integration@^2.0.1 npm install tsx --save-dev mkdir -p __dev__/{data,scripts,services,tests} mkdir -p src/data/{fake-data,examples,profiling} ``` ### **Pipeline de Desenvolvimento** ```bash npm run dev:download # Baixa dados reais do Arbo npm run dev:profile # Faz profiling dos dados npm run dev:fake # Gera dados fake npm run dev:mocks # Gera mocks para testes ``` ### **Pipeline Completo** ```bash npm run dev:all # Executa todos os scripts em sequência npm run dev:test # Testa todos os serviços ``` --- ## 📈 **BENEFÍCIOS ESPERADOS** ### **Para Desenvolvedores** - ✅ Dados fake baseados em exemplos reais - ✅ Mocks inteligentes para testes - ✅ Pipeline automatizado de dados - ✅ Imagens do Unsplash (sempre disponíveis) ### **Para o Produto** - ✅ Dados mais realistas nos exemplos - ✅ Melhor qualidade dos testes - ✅ Facilidade para criar demos - ✅ Conformidade com PropertyModel ### **Para a Arquitetura** - ✅ Estrutura organizada e documentada - ✅ Separação clara entre dev e produção - ✅ Reutilização da arquitetura do arbo-crm - ✅ Validação Zod automática --- ## ⚠️ **PONTOS CRÍTICOS** ### **Dependências** - `@horizon-modules/arbo-crm-integration@^2.0.1` deve estar atualizado - APIs do Unsplash devem estar funcionais - Conexão com Arbo CRM necessária para download ### **Qualidade dos Dados** - Validação Zod obrigatória em todos os dados gerados - Dados fake devem passar por seleção manual - Profiling deve ser atualizado periodicamente ### **Testes** - Testes DEVEM usar pastas temporárias - Mocks DEVEM simular APIs reais - Cleanup automático obrigatório --- ## 🎯 **PRÓXIMOS PASSOS** 1. **COMEÇAR** pela Fase 1 (estrutura base) 2. **IMPLEMENTAR** ArboDownloaderService primeiro 3. **TESTAR** pipeline básico de download 4. **CONTINUAR** com ProfilerService 5. **FINALIZAR** com geradores fake e mock --- *Resumo criado em: 2025-07-08* *Status: PRONTO PARA IMPLEMENTAÇÃO*