# Reestruturação da Integração ComfortClean com Google Sheets
## Objetivo
Reestruturar a integração existente entre o ComfortClean e o Google Sheets para estabelecer uma arquitetura centralizada, confiável e eficiente, garantindo a integridade dos dados e a performance do sistema.
## Regras Gerais
* **Não recriar do zero:** Trabalhar diretamente na estrutura e código atuais.
* **Preservar dados:** Não apagar dados existentes, não criar dados fictícios e não substituir informações reais por exemplos.
* **Manter funcionalidades:** Não remover funcionalidades existentes sem necessidade.
* **Auditoria prévia:** Realizar uma auditoria completa da implementação atual antes de qualquer alteração.
* **Fonte de verdade:** Definir claramente a fonte primária de cada tipo de informação.
* **Evitar duplicação:** Implementar estratégias para evitar duplicação de registros.
* **Testes rigorosos:** Realizar testes reais completos após a implementação.
* **Não usar dados falsos:** Remover simulações de dados e conectar ao fluxo real.
* **Não quebrar o sistema:** Preservar todas as funcionalidades existentes do ComfortClean.
## Etapa 1: Auditoria Obrigatória
Investigar o projeto para identificar:
1. **Localização da integração:** Onde a conexão com o Google Sheets está implementada.
2. **Componentes utilizados:** APIs, funções, Edge Functions, webhooks, variáveis de ambiente, bibliotecas, credenciais.
3. **Recursos do Google Sheets:** Planilha conectada, abas utilizadas, colunas em cada aba.
4. **Fluxo de dados:** Quais dados são lidos ou enviados e para onde.
5. **Dependências do ComfortClean:** Quais partes do sistema dependem dessa integração.
6. **Status da integração:** Identificar erros, conexões quebradas, funções incompletas ou simulações.
**Verificação do fluxo real:**
```mermaid
graph TD
ComfortClean -->|Chamada de Função/API| IntegracaoExistente(Integração Google Sheets Existente)
IntegracaoExistente -->|Dados| GoogleSheets(Google Sheets)
IntegracaoExistente -->|Dados| Supabase(Supabase)
GoogleSheets -->|Retorno de Dados| IntegracaoExistente
Supabase -->|Retorno de Dados| IntegracaoExistente
```
## Etapa 2: Definição da Arquitetura Correta
Adotar a seguinte arquitetura centralizada:
```mermaid
graph LR
GoogleSheets(GOOGLE SHEETS) -->|API / SINCRONIZAÇÃO| Integracao(CAMADA DE INTEGRAÇÃO)
Integracao -->|Dados| Supabase(SUPABASE - BANCO DE DADOS)
Supabase -->|REALTIME| PainelSocio(PAINEL SÓCIO)
Supabase -->|REALTIME| Atendente(ATENDENTE)
Supabase -->|REALTIME| Funcionario(FUNCIONÁRIO)
```
**Regra de Arquitetura:** O frontend do ComfortClean não deve depender de chamadas diretas ao Google Sheets. Toda comunicação deve ser centralizada através da camada de integração e Supabase.
## Etapa 3: Não Apagar a Conexão Existente
* Se a integração existente estiver funcional, aproveitá-la e corrigi-la apenas onde for necessário.
* Identificar precisamente os pontos de falha em conexões quebradas antes de modificar.
* Utilizar exclusivamente as informações reais da configuração e integração existente (credenciais, IDs de planilha, abas, nomes de colunas).
## Etapa 4: Definição da Fonte de Verdade
* **Dados Históricos/Existentes:**
```mermaid
graph TD
DadosExistentes(DADOS EXISTENTES/HISTÓRICOS) --> GoogleSheets(Google Sheets)
GoogleSheets -->|Processo de sincronização| Supabase(Supabase)
Supabase -->|Dados Operacionais| ComfortClean(ComfortClean)
```
* **Dados Operacionais do Sistema:**
```mermaid
graph TD
ComfortClean(ComfortClean) --> Supabase(Supabase)
Supabase --> SistemaOperacional(Sistema Operacional)
```
* O Google Sheets pode ser usado para dados históricos, relatórios, sincronização, exportação e integração administrativa, mas não deve ser a fonte primária para telas operacionais.
## Etapa 5: Fluxo de Sincronização
### Fluxo Google Sheets → ComfortClean
```mermaid
graph TD
GoogleSheets(Google Sheets) -->|API / Webhook / Sincronização| Integracao(Camada de Integração)
Integracao -->|Validação| Supabase(Supabase)
Supabase -->|Realtime| Interface(Interface Atualizada)
subgraph Exemplo
Planilha(Cliente João<br>Serviço: Lavagem de sofá<br>Valor: R$ 500<br>Status: Agendado) -->|SINCRONIZAÇÃO| SupabaseAtualizado(Supabase atualizado)
SupabaseAtualizado -->|REALTIME| PainelComfortClean(Painel do ComfortClean atualizado)
end
```
### Fluxo ComfortClean → Google Sheets
```mermaid
graph TD
ComfortClean(ComfortClean) --> Supabase(Supabase)
Supabase -->|Função Centralizada| Integracao(Google Sheets)
subgraph Estratégia
CRIAR(CRIAR)
ATUALIZAR(ATUALIZAR)
EVITAR_DUPLICACAO(EVITAR DUPLICAÇÃO)
TRATAR_CONFLITOS(TRATAR CONFLITOS)
end
```
* Não implementar duplicação automática de registros.
* Verificar a existência de um identificador correspondente antes de criar um novo registro.
## Etapa 6: Identificadores Únicos
* Cada registro sincronizado deve possuir um identificador único confiável que relacione Supabase e Google Sheets.
* Exemplo conceitual: `ID Supabase <-> ID Integração <-> Linha Google Sheets`.
* Não utilizar apenas nomes como identificadores.
* Implementar estratégia segura para impedir duplicação, atualizações incorretas e sobrescritas de dados.
## Etapa 7: Realtime do ComfortClean
* Utilizar o Supabase Realtime para atualizar interfaces após a centralização dos dados no banco.
* Lógica: `ALTERAÇÃO NO BANCO → SUPABASE REALTIME → TELAS CONECTADAS → ATUALIZAÇÃO AUTOMÁTICA`.
* Para funcionalidades de localização em tempo real, otimizar a estrutura de atualização para não sobrecarregar o banco.
## Etapa 8: Não Usar Dados Falsos
* Realizar busca completa no código por mock data, fake data, dummy data, arrays estáticos, valores temporários ou dados hardcoded.
* Se dados falsos estiverem sendo exibidos, remover a simulação, conectar ao fluxo real e testar com os dados existentes.
## Etapa 9: Não Quebrar o ComfortClean
* Preservar todas as funcionalidades existentes: Clientes, Ordens de Serviço, Agenda, Funcionários, Financeiro, Estoque, Compras, Despesas, Investimentos, Painel do Sócio, Atendimento, Portal do Funcionário, permissões e perfis.
* Verificar dependências antes de alterar tabelas, funções ou fluxos existentes.
## Etapa 10: Teste Real Obrigatório
Executar os seguintes testes após a implementação:
1. **Teste 1:** Buscar dados reais da integração existente.
2. **Teste 2:** Verificar se os dados chegam corretamente ao Supabase.
3. **Teste 3:** Alterar um registro permitido.
4. **Teste 4:** Verificar se a alteração não gera duplicação.
5. **Teste 5:** Verificar se a interface recebe a atualização.
6. **Teste 6:** Verificar o Realtime.
7. **Teste 7:** Criar ou atualizar um registro pelo ComfortClean.
8. **Teste 8:** Verificar a sincronização com o Google Sheets (se aplicável ao fluxo).
## Resultado Final Esperado
A estrutura final deve seguir o diagrama:
```mermaid
graph LR
GoogleSheets(GOOGLE SHEETS<br>Dados existentes<br>Relatórios<br>Sincronização) -->|API / Sincronização| Integracao(CAMADA CENTRAL DE INTEGRAÇÃO<br>API / Functions<br>Validação<br>Sincronização)
Integracao -->|Dados| Supabase(SUPABASE<br>Fonte central operacional)
Supabase -->|REALTIME| PainelSocio(PAINEL SÓCIO)
Supabase -->|REALTIME| Atendente(ATENDENTE)
Supabase -->|REALTIME| Funcionario(FUNCIONÁRIO)
```
## Forma de Execução
1. Executar o trabalho diretamente no código do projeto.
2. Realizar a auditoria da implementação existente.
3. Corrigir e implementar a arquitetura necessária.
4. Não criar integrações paralelas desnecessárias.
5. Não usar dados fictícios, substituir dados reais ou apagar registros.
6. Não alterar funcionalidades fora do escopo sem verificar dependências.
## Confirmação Técnica (Ao Concluir)
Apresentar um relatório técnico detalhado confirmando:
* Localização e funcionamento da integração original.
* Problemas identificados e corrigidos.
* Alterações realizadas.
* Nova fonte de verdade para cada fluxo.
* Funcionamento da sincronização Google Sheets → ComfortClean.
* Funcionamento da sincronização ComfortClean → Google Sheets (se implementado).
* Como o Realtime atualiza as telas.
* Testes reais executados e resultados.
* Problemas encontrados e corrigidos durante os testes.
Adicionar uma tela de auditoria com logs detalhados de cada leitura e escrita entre o site e o Google Sheets, incluindo timestamps e usuário responsável.
Higienização Premium · Aracaju
Limpeza e Higienização de Estofados Profissional em Aracaju
Sofás, colchões, tapetes, cadeiras e estofados automotivos — limpeza profunda, impermeabilização e eliminação de ácaros e odores. Atendemos toda Aracaju e região.