Alternativa de Trello de código abierto y ligera, diseñada para creadores y hackers independientes.
Enfocada en la simplicidad, velocidad y escalabilidad. Construida con stack moderno: Tailwind CSS, shadcn/ui, Supabase, integración con Stripe. Soporta proyectos ilimitados, colaboración en equipo, modo oscuro/claro y experiencia de usuario fluida. Perfecta para desarrolladores solitarios y pequeños equipos que quieren control total sin complejidad innecesaria.
🌟 Si encuentras útil este proyecto, ¡considera darle una estrella! Así ayudas a que otros también lo descubran.
Guía de Despliegue
Visión General
Esta aplicación ahora utiliza rutas API locales de Next.js en lugar de Supabase Edge Functions para la integración con Stripe. Esto simplifica el despliegue y te permite usar archivos .env estándar para la configuración.Configuración de Variables de Entorno
1. Crear archivo .env.local
Copia.env.example a .env.local y rellena con tus valores reales:cp .env.example .env.local
2. Variables de Entorno Requeridas
#### Configuración de Supabase
NEXT_PUBLIC_SUPABASE_URL- La URL de tu proyecto SupabaseNEXT_PUBLIC_SUPABASE_ANON_KEY- Tu clave anónima de SupabaseSUPABASE_SERVICE_ROLE_KEY- Tu clave de rol de servicio de Supabase (solo del lado del servidor)
STRIPE_SECRET_KEY- Tu clave secreta de Stripe (solo del lado del servidor)NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY- Tu clave pública de StripeSTRIPE_WEBHOOK_SECRET- Tu secreto de webhook de Stripe
NEXT_PUBLIC_SITE_URL- La URL de tu sitio (para producción)NEXTAUTH_URL- La URL de tu sitio (igual que la anterior)NEXTAUTH_SECRET- Un secreto aleatorio para NextAuth
Desarrollo Local
- Instala las dependencias:
npm install
- Configura tus variables de entorno en
.env.local - Ejecuta el servidor de desarrollo:
npm run dev
- Pruebe los webhooks de Stripe localmente usando Stripe CLI:
stripe listen --forward-to localhost:3000/api/stripe/webhook
Despliegue de Producción
Despliegue en Vercel
- Desplegar en Vercel:
npx vercel
- Variables de Entorno:
- Configuración del Webhook de Stripe:
- Apunta el webhook a:
https://your-domain.vercel.app/api/stripe/webhook
Endpoints de la API
La aplicación ahora utiliza estas rutas API locales:
POST /api/stripe/checkout- Crea sesiones de pago de StripePOST /api/stripe/webhook- Maneja eventos de webhooks de Stripe
Beneficios de las Rutas API Locales
- Despliegue Más Simple - No es necesario desplegar funciones edge por separado
- Variables de Entorno - Soporte estándar para archivos .env
- Mejor Depuración - Más fácil de depurar localmente
- Integración con Framework - Mejor integración con Next.js
- Sin Bloqueo de Proveedor - Puedes desplegar en cualquier plataforma que soporte Next.js
Solución de Problemas
- Problemas con Webhook:
- Asegúrate de que
STRIPE_WEBHOOK_SECRETcoincida con tu endpoint de webhook de Stripe - Revisa los registros del webhook en el panel de Stripe
- Verifica que la URL del webhook sea correcta
- Variables de Entorno:
- Asegúrate de que todas las variables requeridas estén configuradas
- Revisa errores tipográficos en los nombres de las variables
- Verifica que la clave de rol de servicio de Supabase tenga los permisos adecuados
- Problemas de CORS:
- Las rutas API incluyen los encabezados CORS adecuados
- Asegúrate de que tu dominio esté en la lista blanca si es necesario
Notas de Seguridad
- Nunca expongas
STRIPE_SECRET_KEYoSUPABASE_SERVICE_ROLE_KEYal cliente - Usa el prefijo
NEXT_PUBLIC_solo para variables del lado del cliente - Rota regularmente tus secretos de webhook
- Monitorea la entrega de webhooks en el panel de Stripe