Alternativa open-source y ligera a Trello diseñada para creadores y desarrolladores 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 individuales y equipos pequeños que desean control total sin complejidad innecesaria.
🌟 Si encuentras útil este proyecto, ¡considera darle una estrella! Así ayudas a que otros lo descubran también.
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 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.local2. 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 arriba)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- Prueba los webhooks de Stripe localmente usando Stripe CLI:
stripe listen --forward-to localhost:3000/api/stripe/webhookDespliegue en Producción
Despliegue en Vercel
- Desplegar en Vercel:
npx vercel
- Variables de Entorno:
- Configuración del Webhook de Stripe:
- Apunte el webhook a:
https://tu-dominio.vercel.app/api/stripe/webhook
Puntos finales de la API
La aplicación ahora utiliza estas rutas de API locales:
POST /api/stripe/checkout- Crea sesiones de pago de StripePOST /api/stripe/webhook- Maneja eventos de webhook de Stripe
Beneficios de las Rutas de 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 Dependencia de Proveedor - Se puede desplegar en cualquier plataforma que soporte Next.js
Resolución de Problemas
- Problemas con Webhooks:
- Asegúrese de que
STRIPE_WEBHOOK_SECRETcoincida con el endpoint de webhook de Stripe - Revise los registros del webhook en el panel de Stripe
- Verifique que la URL del webhook sea correcta
- Variables de Entorno:
- Asegúrese de que todas las variables requeridas estén configuradas
- Revise errores de tipeo en los nombres de las variables
- Verifique que la clave de rol de servicio de Supabase tenga los permisos adecuados
- Problemas de CORS:
- Las rutas de la API incluyen los encabezados CORS adecuados
- Asegúrese de que su dominio esté en la lista blanca si es necesario
Notas de Seguridad
- Nunca exponga
STRIPE_SECRET_KEYoSUPABASE_SERVICE_ROLE_KEYal cliente - Use el prefijo
NEXT_PUBLIC_solo para variables del lado del cliente - Rote sus secretos de webhook regularmente
- Monitoree la entrega de webhooks en el panel de Stripe