Open-Source, leichtgewichtige Trello-Alternative für Macher und Indie Hacker.
Fokus auf Einfachheit, Geschwindigkeit und Skalierbarkeit. Gebaut mit modernem Stack: Tailwind CSS, shadcn/ui, Supabase, Stripe-Integration. Unterstützt unbegrenzte Projekte, Teamzusammenarbeit, Dark-/Light-Mode und nahtloses Benutzererlebnis. Perfekt für Solo-Entwickler und kleine Teams, die volle Kontrolle ohne unnötige Komplexität möchten.
🌟 Wenn du dieses Projekt nützlich findest, gib ihm gerne einen Stern! Das hilft auch anderen, es zu entdecken.
Bereitstellungsanleitung
Übersicht
Diese Anwendung nutzt nun lokale Next.js API-Routen anstelle von Supabase Edge Functions für die Stripe-Integration. Das vereinfacht die Bereitstellung und ermöglicht die Verwendung von Standard-.env-Dateien für die Konfiguration.Einrichtung der Umgebungsvariablen
1. Erstelle die Datei .env.local
Kopiere.env.example zu .env.local und trage deine echten Werte ein:cp .env.example .env.local2. Erforderliche Umgebungsvariablen
#### Supabase-Konfiguration
NEXT_PUBLIC_SUPABASE_URL- Deine Supabase-Projekt-URLNEXT_PUBLIC_SUPABASE_ANON_KEY- Dein Supabase-anonymer SchlüsselSUPABASE_SERVICE_ROLE_KEY- Dein Supabase-Service-Role-Schlüssel (nur serverseitig)
STRIPE_SECRET_KEY- Dein Stripe-Secret-Key (nur serverseitig)NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY- Dein Stripe-Publishable-KeySTRIPE_WEBHOOK_SECRET- Dein Stripe-Webhook-Secret
NEXT_PUBLIC_SITE_URL- Deine Seiten-URL (für Produktion)NEXTAUTH_URL- Deine Seiten-URL (wie oben)NEXTAUTH_SECRET- Ein zufälliges Secret für NextAuth
Lokale Entwicklung
- Abhängigkeiten installieren:
npm install- Richten Sie Ihre Umgebungsvariablen in
.env.localein - Starten Sie den Entwicklungsserver:
npm run dev- Testen Sie Stripe-Webhooks lokal mit der Stripe CLI:
stripe listen --forward-to localhost:3000/api/stripe/webhookProduktionsbereitstellung
Vercel-Bereitstellung
- Bei Vercel bereitstellen:
npx vercel
- Umgebungsvariablen:
- Stripe Webhook Einrichtung:
- Webhook zeigen auf:
https://your-domain.vercel.app/api/stripe/webhook
API-Endpunkte
Die Anwendung verwendet jetzt diese lokalen API-Routen:
POST /api/stripe/checkout- Erstellt Stripe-Checkout-SitzungenPOST /api/stripe/webhook- Verarbeitet Stripe-Webhook-Ereignisse
Vorteile der lokalen API-Routen
- Einfachere Bereitstellung - Keine separaten Edge-Funktionen erforderlich
- Umgebungsvariablen - Standardmäßige .env-Datei-Unterstützung
- Besseres Debugging - Einfacheres Debugging lokal
- Framework-Integration - Bessere Integration mit Next.js
- Kein Vendor-Lock-in - Kann auf jeder Plattform bereitgestellt werden, die Next.js unterstützt
Fehlerbehebung
- Webhook-Probleme:
- Stellen Sie sicher, dass
STRIPE_WEBHOOK_SECRETmit Ihrem Stripe-Webhook-Endpunkt übereinstimmt - Überprüfen Sie die Webhook-Protokolle im Stripe-Dashboard
- Vergewissern Sie sich, dass die Webhook-URL korrekt ist
- Umgebungsvariablen:
- Stellen Sie sicher, dass alle erforderlichen Variablen gesetzt sind
- Überprüfen Sie Tippfehler in den Variablennamen
- Vergewissern Sie sich, dass der Supabase-Service-Role-Key die richtigen Berechtigungen hat
- CORS-Probleme:
- API-Routen enthalten die richtigen CORS-Header
- Stellen Sie sicher, dass Ihre Domain bei Bedarf auf der Whitelist steht
Sicherheitshinweise
- Geben Sie niemals
STRIPE_SECRET_KEYoderSUPABASE_SERVICE_ROLE_KEYan den Client weiter - Verwenden Sie das Präfix
NEXT_PUBLIC_nur für clientseitige Variablen - Rotieren Sie regelmäßig Ihre Webhook-Secrets
- Überwachen Sie die Webhook-Zustellung im Stripe-Dashboard