# supabase-sync > Skill para sincronizacao do Sistema Gantt com Supabase PostgreSQL. Use quando precisar configurar, conectar, sincronizar ou gerenciar o banco de dados Supabase. Inclui credenciais, scripts SQL, cliente JavaScript e comandos de sincronizacao. - Author: HicaroDev - Repository: HicaroDev/gantt-pro - Version: 20260126233247 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/HicaroDev/gantt-pro - Web: https://mule.run/skillshub/@@HicaroDev/gantt-pro~supabase-sync:20260126233247 --- --- name: supabase-sync description: Skill para sincronizacao do Sistema Gantt com Supabase PostgreSQL. Use quando precisar configurar, conectar, sincronizar ou gerenciar o banco de dados Supabase. Inclui credenciais, scripts SQL, cliente JavaScript e comandos de sincronizacao. --- # Supabase Sync - Sistema Gantt Skill para gerenciar a integracao do Sistema Gantt com Supabase PostgreSQL. ## Credenciais Configuradas ``` SUPABASE_URL=https://cswfshlznzowmzhltnza.supabase.co SUPABASE_KEY=sb_publishable_EOlDZLWbpRi_VQ8fC-UsmQ_CRXBzh4g SUPABASE_SERVICE_KEY=sb_secret_jL2Uk_O6DbIyK9ki7sIBBw_latMVPFV ``` ## Estrutura do Banco de Dados ### Tabela: projects | Campo | Tipo | Descricao | |-------|------|-----------| | id | UUID | Chave primaria | | user_id | UUID | ID do usuario (opcional) | | nome_da_obra | TEXT | Nome do projeto | | cliente | TEXT | Nome do cliente | | endereco | TEXT | Endereco da obra | | data_inicio | DATE | Data de inicio | | data_termino_previsto | DATE | Data prevista de termino | | responsavel | TEXT | Responsavel | | status | TEXT | Status do projeto | | progresso | INTEGER | Progresso (0-100) | | observacoes | TEXT | Observacoes | | created_at | TIMESTAMPTZ | Data de criacao | | updated_at | TIMESTAMPTZ | Data de atualizacao | ### Tabela: tasks | Campo | Tipo | Descricao | |-------|------|-----------| | id | UUID | Chave primaria | | projeto_id | UUID | FK para projects | | nome | TEXT | Nome da tarefa | | wbs | TEXT | Codigo WBS | | data_inicio | DATE | Data de inicio | | data_fim | DATE | Data de fim | | progresso | INTEGER | Progresso (0-100) | | tipo | TEXT | task ou milestone | | dependencias | TEXT | IDs das dependencias | | subtasks_text | TEXT | Subtarefas em texto | | created_at | TIMESTAMPTZ | Data de criacao | ## Comandos de Sincronizacao ### Via Console do Navegador (F12) ```javascript // Testar conexao await supabase.testarConexao() // Enviar dados locais para nuvem await supabase.sincronizarParaNuvem() // Baixar dados da nuvem para local await supabase.sincronizarDoNuvem() // Listar projetos await supabase.listarProjetos() // Listar tarefas de um projeto await supabase.listarTarefas('UUID_DO_PROJETO') ``` ### Via cURL (Terminal) ```bash # Listar projetos curl -s "https://cswfshlznzowmzhltnza.supabase.co/rest/v1/projects?select=*" \ -H "apikey: sb_publishable_EOlDZLWbpRi_VQ8fC-UsmQ_CRXBzh4g" \ -H "Authorization: Bearer sb_publishable_EOlDZLWbpRi_VQ8fC-UsmQ_CRXBzh4g" # Criar projeto curl -s -X POST "https://cswfshlznzowmzhltnza.supabase.co/rest/v1/projects" \ -H "apikey: sb_publishable_EOlDZLWbpRi_VQ8fC-UsmQ_CRXBzh4g" \ -H "Authorization: Bearer sb_publishable_EOlDZLWbpRi_VQ8fC-UsmQ_CRXBzh4g" \ -H "Content-Type: application/json" \ -H "Prefer: return=representation" \ -d '{"nome_da_obra": "Nome", "cliente": "Cliente"}' # Listar tarefas curl -s "https://cswfshlznzowmzhltnza.supabase.co/rest/v1/tasks?select=*" \ -H "apikey: sb_publishable_EOlDZLWbpRi_VQ8fC-UsmQ_CRXBzh4g" \ -H "Authorization: Bearer sb_publishable_EOlDZLWbpRi_VQ8fC-UsmQ_CRXBzh4g" ``` ## Arquivos do Projeto | Arquivo | Descricao | |---------|-----------| | `.env` | Credenciais do Supabase | | `src/js/supabase-client.js` | Cliente JavaScript para sincronizacao | | `supabase_setup.sql` | Script SQL completo | | `supabase_simples.sql` | Script SQL simplificado | ## Recursos Adicionais - **Script SQL Completo**: Ver `references/sql-setup.md` - **Cliente JavaScript**: Ver `references/js-client.md` - **Troubleshooting**: Ver `references/troubleshooting.md` ## Workflow de Sincronizacao 1. Usuario edita dados no frontend (localStorage) 2. Usuario clica em "Sincronizar" 3. Sistema chama `supabase.sincronizarParaNuvem()` 4. Dados sao enviados para Supabase via REST API 5. Confirmacao de sucesso exibida ## Painel do Supabase - **URL**: https://supabase.com/dashboard/project/cswfshlznzowmzhltnza - **Table Editor**: Visualizar e editar dados - **SQL Editor**: Executar queries SQL - **API Docs**: Documentacao da API REST