# 🚀 Configuração Completa do Supabase - Liberi Kids ## ✅ Credenciais Configuradas As credenciais do Supabase foram atualizadas nos arquivos: - **URL:** `https://ydhzylfnpqlxnzfcclla.supabase.co` - **Chave:** `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...` - **Bucket:** `produtos` ## 🎉 TABELAS JÁ EXISTEM! **Ótima notícia!** Você já possui um sistema completo de estoque com todas as tabelas necessárias. ### ⚡ SETUP SUPER RÁPIDO (Recomendado) **Execute apenas 2 passos:** 1. **Copie todo o conteúdo** do arquivo `sql/supabase-setup.sql` 2. **Cole no SQL Editor** do Supabase e execute 3. **Copie todo o conteúdo** do arquivo `SETUP-RAPIDO-SUPABASE.sql` 4. **Cole no SQL Editor** do Supabase e execute **Pronto!** Seu catálogo estará funcionando com dados reais. ### 2. 🗂️ Configurar Storage (Bucket de Imagens) Execute também o arquivo `sql/supabase-storage.sql`: ```sql -- Execute todo o conteúdo do arquivo: sql/supabase-storage.sql ``` ### 3. 👤 Criar Usuário Admin de Teste Execute no SQL Editor para criar um usuário admin: ```sql -- Criar tabela de usuários admin (se não existir) CREATE TABLE IF NOT EXISTS usuarios_admin ( id UUID DEFAULT uuid_generate_v4() PRIMARY KEY, email VARCHAR(255) NOT NULL UNIQUE, senha_hash VARCHAR(255) NOT NULL, nome VARCHAR(255) NOT NULL, ativo BOOLEAN DEFAULT true, created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() ); -- Inserir usuário da Maiara INSERT INTO usuarios_admin (email, senha_hash, nome, ativo) VALUES ( 'maiara.seco@gmail.com', 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', -- Hash de '123456' 'Maiara Seco', true ) ON CONFLICT (email) DO NOTHING; ``` ### 4. 📊 Inserir Produtos de Teste ```sql -- Inserir fornecedor de exemplo INSERT INTO fornecedores (nome, email, telefone, ativo) VALUES ( 'Liberi Kids Matriz', 'contato@liberikids.com.br', '(43) 99999-9999', true ) ON CONFLICT DO NOTHING; -- Inserir produto de exemplo INSERT INTO produtos ( id_produto, marca, nome, descricao, estacao, genero, fornecedor_id, valor_compra, valor_revenda, ativo ) VALUES ( 'LK001', 'Liberi Kids', 'Camiseta Infantil Básica', 'Camiseta 100% algodão, confortável e durável para o dia a dia', 'Verão', 'Unissex', (SELECT id FROM fornecedores WHERE nome = 'Liberi Kids Matriz' LIMIT 1), 15.90, 29.90, true ) ON CONFLICT (id_produto) DO NOTHING; -- Inserir variações do produto INSERT INTO produto_variacoes (produto_id, tamanho, cor, quantidade) VALUES ((SELECT id FROM produtos WHERE id_produto = 'LK001'), '2', 'Azul', 5), ((SELECT id FROM produtos WHERE id_produto = 'LK001'), '4', 'Rosa', 3), ((SELECT id FROM produtos WHERE id_produto = 'LK001'), '6', 'Branco', 7) ON CONFLICT (produto_id, tamanho, cor) DO NOTHING; CREATE TABLE clientes ( id UUID DEFAULT gen_random_uuid() PRIMARY KEY, nome_completo VARCHAR(255) NOT NULL, email VARCHAR(255), whatsapp VARCHAR(20) NOT NULL UNIQUE, endereco TEXT NOT NULL, created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() ); ``` #### Tabela de Pedidos do Catálogo ```sql CREATE TABLE pedidos_catalogo ( id UUID DEFAULT gen_random_uuid() PRIMARY KEY, cliente_id UUID REFERENCES clientes(id), valor_total DECIMAL(10,2) NOT NULL, observacoes TEXT, status VARCHAR(20) DEFAULT 'pendente', created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() ); ``` #### Tabela de Itens do Pedido ```sql CREATE TABLE pedido_catalogo_itens ( id UUID DEFAULT gen_random_uuid() PRIMARY KEY, pedido_id UUID REFERENCES pedidos_catalogo(id) ON DELETE CASCADE, produto_id UUID REFERENCES produtos(id), produto_variacao_id UUID REFERENCES produto_variacoes(id), quantidade INTEGER NOT NULL, valor_unitario DECIMAL(10,2) NOT NULL, valor_total DECIMAL(10,2) NOT NULL ); ``` #### Tabela de Usuários Admin ```sql CREATE TABLE usuarios_admin ( id UUID DEFAULT gen_random_uuid() PRIMARY KEY, email VARCHAR(255) NOT NULL UNIQUE, senha_hash VARCHAR(255) NOT NULL, nome VARCHAR(255) NOT NULL, ativo BOOLEAN DEFAULT true, created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() ); ``` ### 2. 🗂️ Configurar Storage Execute o SQL do arquivo `sql/supabase-storage.sql`: ```sql -- Criar bucket para imagens de produtos INSERT INTO storage.buckets (id, name, public, file_size_limit, allowed_mime_types) VALUES ( 'produtos', 'produtos', true, 5242880, -- 5MB ARRAY['image/jpeg', 'image/png', 'image/webp', 'image/gif'] ) ON CONFLICT (id) DO NOTHING; -- Políticas de acesso (ver arquivo completo) ``` ### 3. 👤 Criar Usuário Admin Execute para criar o usuário da Maiara: ```sql INSERT INTO usuarios_admin (email, senha_hash, nome, ativo) VALUES ( 'maiara.seco@gmail.com', 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', -- Hash de '123456' 'Maiara Seco', true ); ``` ### 4. 🔐 Configurar RLS (Row Level Security) ```sql -- Habilitar RLS nas tabelas ALTER TABLE produtos ENABLE ROW LEVEL SECURITY; ALTER TABLE produto_variacoes ENABLE ROW LEVEL SECURITY; ALTER TABLE produto_imagens ENABLE ROW LEVEL SECURITY; ALTER TABLE clientes ENABLE ROW LEVEL SECURITY; -- Políticas para leitura pública de produtos CREATE POLICY "Permitir leitura pública de produtos" ON produtos FOR SELECT USING (ativo = true); CREATE POLICY "Permitir leitura pública de variações" ON produto_variacoes FOR SELECT USING (true); CREATE POLICY "Permitir leitura pública de imagens" ON produto_imagens FOR SELECT USING (true); ``` ### 5. 📊 Inserir Dados de Teste ```sql -- Produto de exemplo INSERT INTO produtos (nome, marca, genero, estacao, preco_venda, valor_revenda, descricao, ativo) VALUES ( 'Camiseta Infantil Básica', 'Liberi Kids', 'unissex', 'verao', 29.90, 25.90, 'Camiseta 100% algodão, confortável e durável', true ); -- Variações do produto (use o ID gerado acima) INSERT INTO produto_variacoes (produto_id, tamanho, cor, quantidade) VALUES ((SELECT id FROM produtos WHERE nome = 'Camiseta Infantil Básica'), '2', 'Azul', 5), ((SELECT id FROM produtos WHERE nome = 'Camiseta Infantil Básica'), '4', 'Rosa', 3); ``` ## 🧪 Testar a Configuração 1. **Abra** `site/index.html` no navegador 2. **Verifique** o console (F12) - deve mostrar "Supabase inicializado" 3. **Teste** o carregamento de produtos reais 4. **Acesse** o admin (clique no logo) 5. **Cadastre** um produto novo ## ⚠️ Problemas Comuns ### Produtos não carregam - Verifique se as tabelas foram criadas - Confirme se RLS está configurado - Veja o console para erros ### Admin não funciona - Verifique se a tabela `usuarios_admin` existe - Confirme se o usuário foi inserido - Teste as credenciais: maiara.seco@gmail.com / 123456 ### Upload de imagens falha - Verifique se o bucket 'produtos' foi criado - Confirme as políticas de storage - Teste com imagens pequenas (< 5MB) ## 🎉 Resultado Final Após a configuração, você terá: - ✅ Catálogo funcionando com dados reais - ✅ Sistema de cadastro de produtos - ✅ Upload de imagens - ✅ Carrinho e pedidos via WhatsApp - ✅ Autenticação de clientes e admin --- **🚀 Seu catálogo está pronto para produção!**