Alternativa open-source e leggera a Trello, progettata per maker e indie hacker.
Focalizzata su semplicità, velocità e scalabilità. Realizzata con stack moderno: Tailwind CSS, shadcn/ui, Supabase, integrazione Stripe. Supporta progetti illimitati, collaborazione in team, modalità scura/chiara e un'esperienza utente fluida. Perfetta per sviluppatori singoli e piccoli team che vogliono pieno controllo senza complessità inutili.
🌟 Se trovi utile questo progetto, considera di lasciargli una stella! Aiuta anche altri a scoprirlo.
Guida al Deployment
Panoramica
Questa applicazione ora utilizza le rotte API locali di Next.js invece delle Supabase Edge Functions per l'integrazione con Stripe. Questo rende il deployment più semplice e permette di usare i normali file .env per la configurazione.Configurazione delle variabili d'ambiente
1. Crea il file .env.local
Copia.env.example in .env.local e inserisci i tuoi valori reali:cp .env.example .env.local
2. Variabili d'Ambiente Richieste
#### Configurazione Supabase
NEXT_PUBLIC_SUPABASE_URL- L’URL del tuo progetto SupabaseNEXT_PUBLIC_SUPABASE_ANON_KEY- La tua chiave anonima SupabaseSUPABASE_SERVICE_ROLE_KEY- La chiave del ruolo di servizio Supabase (solo lato server)
STRIPE_SECRET_KEY- La tua chiave segreta Stripe (solo lato server)NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY- La tua chiave pubblicabile StripeSTRIPE_WEBHOOK_SECRET- Il tuo segreto del webhook Stripe
NEXT_PUBLIC_SITE_URL- L’URL del tuo sito (per la produzione)NEXTAUTH_URL- L’URL del tuo sito (come sopra)NEXTAUTH_SECRET- Un segreto casuale per NextAuth
Sviluppo Locale
- Installa le dipendenze:
npm install
- Configura le variabili d'ambiente in
.env.local - Avvia il server di sviluppo:
npm run dev
- Testa i webhook di Stripe localmente usando Stripe CLI:
stripe listen --forward-to localhost:3000/api/stripe/webhook
Distribuzione in Produzione
Distribuzione su Vercel
- Distribuire su Vercel:
npx vercel
- Variabili d'Ambiente:
- Configurazione Webhook Stripe:
- Punta il webhook a:
https://your-domain.vercel.app/api/stripe/webhook
Endpoint API
L'applicazione ora utilizza queste route API locali:
POST /api/stripe/checkout- Crea sessioni di checkout StripePOST /api/stripe/webhook- Gestisce gli eventi webhook di Stripe
Vantaggi delle Route API Locali
- Deployment più Semplice - Non serve distribuire funzioni edge separate
- Variabili d'Ambiente - Supporto standard al file .env
- Debug Migliorato - Più facile eseguire il debug in locale
- Integrazione con Framework - Migliore integrazione con Next.js
- Nessun Vendor Lock-in - Puoi distribuire su qualsiasi piattaforma che supporta Next.js
Risoluzione dei Problemi
- Problemi con Webhook:
- Assicurati che
STRIPE_WEBHOOK_SECRETcorrisponda all'endpoint webhook di Stripe - Controlla i log dei webhook nella dashboard Stripe
- Verifica che l'URL del webhook sia corretto
- Variabili d'Ambiente:
- Assicurati che tutte le variabili richieste siano impostate
- Controlla eventuali errori nei nomi delle variabili
- Verifica che la chiave service role di Supabase abbia i permessi corretti
- Problemi CORS:
- Le route API includono gli header CORS corretti
- Assicurati che il tuo dominio sia nella whitelist se necessario
Note di Sicurezza
- Non esporre mai
STRIPE_SECRET_KEYoSUPABASE_SERVICE_ROLE_KEYal client - Usa il prefisso
NEXT_PUBLIC_solo per le variabili lato client - Ruota regolarmente i tuoi segreti webhook
- Monitora la consegna dei webhook nella dashboard Stripe