4.1 KiB
4.1 KiB
🚀 Configuração do Supabase - Liberi Kids Estoque
📋 Instruções para Configurar o Banco de Dados
1. Acesse o Supabase Dashboard
- Vá para: https://xyqmlesqdqybiyjofysb.supabase.co
- Faça login na sua conta
2. Execute o Script SQL
- No dashboard do Supabase, vá para SQL Editor
- Clique em New Query
- Copie e cole todo o conteúdo do arquivo
sql/create-tables.sql - Clique em Run para executar
3. Criar Função de Atualização de Estoque
- Ainda no SQL Editor, crie uma nova query
- Copie e cole o conteúdo do arquivo
sql/functions.sql - Execute a query
4. Verificar Tabelas Criadas
- Vá para Table Editor no menu lateral
- Você deve ver as seguintes tabelas:
- ✅
fornecedores - ✅
produtos - ✅
produto_variacoes - ✅
clientes - ✅
tipos_despesas - ✅
despesas - ✅
vendas - ✅
venda_itens
- ✅
5. Configurar Políticas RLS (Row Level Security)
As políticas já estão incluídas no script SQL, mas você pode ajustá-las conforme necessário:
- Vá para Authentication > Policies
- Verifique se todas as tabelas têm políticas habilitadas
- As políticas atuais permitem todas as operações para usuários autenticados
6. Testar a Conexão
- Inicie o servidor:
npm start - Acesse: http://localhost:5000
- Clique no botão "Testar API" na página de produtos
- Deve aparecer: "API Supabase funcionando corretamente!"
🔧 Estrutura das Tabelas
Fornecedores
id(UUID, PK)razao_social(TEXT, NOT NULL)telefone,whatsapp,endereco,email(TEXT)created_at,updated_at(TIMESTAMP)
Produtos
id(UUID, PK)id_produto(TEXT) - ID personalizadomarca,nome(TEXT, NOT NULL)estacao(TEXT, NOT NULL)genero(TEXT, DEFAULT 'Unissex')fornecedor_id(UUID, FK)valor_compra,valor_revenda(DECIMAL)foto_principal_url(TEXT)created_at,updated_at(TIMESTAMP)
Produto Variações
id(UUID, PK)produto_id(UUID, FK, NOT NULL)tamanho,cor(TEXT, NOT NULL)quantidade(INTEGER, DEFAULT 0)foto_url(TEXT)created_at,updated_at(TIMESTAMP)
Clientes
id(UUID, PK)nome_completo(TEXT, NOT NULL)email,telefone,whatsapp,endereco(TEXT)created_at,updated_at(TIMESTAMP)
Tipos de Despesas
id(UUID, PK)nome(TEXT, NOT NULL, UNIQUE)descricao(TEXT)created_at(TIMESTAMP)
Despesas
id(UUID, PK)tipo_despesa_id(UUID, FK, NOT NULL)fornecedor_id(UUID, FK)data_despesa(DATE, NOT NULL)valor(DECIMAL, NOT NULL)descricao(TEXT)created_at,updated_at(TIMESTAMP)
Vendas
id(UUID, PK)cliente_id(UUID, FK)tipo_pagamento(TEXT, CHECK: 'vista' ou 'parcelado')valor_total(DECIMAL, NOT NULL)desconto(DECIMAL, DEFAULT 0)parcelas(INTEGER, DEFAULT 1)valor_parcela(DECIMAL, DEFAULT 0)data_venda(DATE, NOT NULL)observacoes(TEXT)created_at,updated_at(TIMESTAMP)
Venda Itens
id(UUID, PK)venda_id(UUID, FK, NOT NULL)produto_id(UUID, FK, NOT NULL)variacao_id(UUID, FK)quantidade(INTEGER, NOT NULL)valor_unitario,valor_total(DECIMAL, NOT NULL)created_at(TIMESTAMP)
🎯 Vantagens do Supabase
✅ Banco PostgreSQL robusto ✅ Backup automático ✅ Escalabilidade ✅ Interface web para gerenciamento ✅ APIs REST automáticas ✅ Segurança com RLS ✅ Sem problemas de concorrência
🚨 Comandos Importantes
# Iniciar com Supabase (padrão)
npm start
# Iniciar com SQLite (backup)
npm run start-sqlite
# Desenvolvimento com Supabase
npm run dev
# Testar conexão com Supabase
npm run init-supabase
📞 Suporte
Se houver algum problema:
- Verifique se as tabelas foram criadas corretamente
- Confirme se as políticas RLS estão ativas
- Teste a conexão com o botão "Testar API"
- Verifique os logs do servidor no terminal
O sistema agora está usando Supabase e deve funcionar perfeitamente! 🎉