Alternativa open-source e leve ao Trello, projetada para makers e indie hackers.
Foco em simplicidade, velocidade e escalabilidade. Construído com stack moderna: Tailwind CSS, shadcn/ui, Supabase, integração com Stripe. Suporta projetos ilimitados, colaboração em equipe, modo escuro/claro e experiência de usuário fluida. Perfeito para desenvolvedores solo e pequenas equipes que querem controle total sem complexidade desnecessária.
🌟 Se achar este projeto útil, considere dar uma estrela! Isso ajuda outros a descobri-lo também.
Guia de Deploy
Visão Geral
Esta aplicação agora usa rotas de API locais do Next.js em vez de Supabase Edge Functions para integração com Stripe. Isso torna o deploy mais simples e permite o uso de arquivos .env padrão para configuração.Configuração de Variáveis de Ambiente
1. Crie o arquivo .env.local
Copie.env.example para .env.local e preencha com seus valores reais:cp .env.example .env.local2. Variáveis de Ambiente Necessárias
#### Configuração do Supabase
NEXT_PUBLIC_SUPABASE_URL- URL do seu projeto SupabaseNEXT_PUBLIC_SUPABASE_ANON_KEY- Chave anônima do SupabaseSUPABASE_SERVICE_ROLE_KEY- Chave de função de serviço do Supabase (apenas no servidor)
STRIPE_SECRET_KEY- Chave secreta do Stripe (apenas no servidor)NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY- Chave publicável do StripeSTRIPE_WEBHOOK_SECRET- Segredo do webhook do Stripe
NEXT_PUBLIC_SITE_URL- URL do seu site (para produção)NEXTAUTH_URL- URL do seu site (mesmo que acima)NEXTAUTH_SECRET- Um segredo aleatório para o NextAuth
Desenvolvimento Local
- Instale as dependências:
npm install- Configure suas variáveis de ambiente em
.env.local - Execute o servidor de desenvolvimento:
npm run dev- Teste os webhooks do Stripe localmente usando o Stripe CLI:
stripe listen --forward-to localhost:3000/api/stripe/webhookImplantação em Produção
Implantação no Vercel
- Implantar no Vercel:
npx vercel
- Variáveis de Ambiente:
- Configuração do Webhook do Stripe:
- Aponte o webhook para:
https://seu-dominio.vercel.app/api/stripe/webhook
Endpoints da API
O aplicativo agora usa estas rotas de API locais:
POST /api/stripe/checkout- Cria sessões de checkout do StripePOST /api/stripe/webhook- Manipula eventos de webhook do Stripe
Benefícios das Rotas de API Locais
- Implantação Mais Simples - Não há necessidade de implantar funções edge separadas
- Variáveis de Ambiente - Suporte padrão ao arquivo .env
- Melhor Depuração - Mais fácil de depurar localmente
- Integração com o Framework - Melhor integração com Next.js
- Sem Dependência de Fornecedor - Pode implantar em qualquer plataforma que suporte Next.js
Solução de Problemas
- Problemas com Webhook:
- Certifique-se de que
STRIPE_WEBHOOK_SECRETcorresponda ao endpoint do webhook do Stripe - Verifique os logs do webhook no painel do Stripe
- Confirme se a URL do webhook está correta
- Variáveis de Ambiente:
- Verifique se todas as variáveis obrigatórias estão definidas
- Confira se há erros de digitação nos nomes das variáveis
- Certifique-se de que a chave de função de serviço do Supabase tem as permissões adequadas
- Problemas de CORS:
- As rotas de API incluem os cabeçalhos CORS apropriados
- Certifique-se de que seu domínio está na lista de permissões, se necessário
Notas de Segurança
- Nunca exponha
STRIPE_SECRET_KEYouSUPABASE_SERVICE_ROLE_KEYpara o cliente - Use o prefixo
NEXT_PUBLIC_apenas para variáveis do lado do cliente - Gire regularmente seus segredos de webhook
- Monitore a entrega do webhook no painel do Stripe