بديل Trello مفتوح المصدر وخفيف الوزن، مصمم للمطورين والمستقلين.
يركز على البساطة والسرعة وقابلية التوسع. مبني بأحدث التقنيات: Tailwind CSS وshadcn/ui وSupabase وتكامل Stripe. يدعم مشاريع غير محدودة، تعاون الفرق، الوضع الليلي/النهاري، وتجربة مستخدم سلسة. مثالي للمطورين الفرديين والفرق الصغيرة الذين يرغبون في التحكم الكامل بدون تعقيد غير ضروري.
🌟 إذا وجدت هذا المشروع مفيدًا، فكر في منحه نجمة! هذا يساعد الآخرين أيضًا في اكتشافه.
دليل النشر
نظرة عامة
يستخدم هذا التطبيق الآن مسارات API المحلية لـ Next.js بدلاً من وظائف Supabase Edge لتكامل Stripe. هذا يجعل النشر أبسط ويسمح لك باستخدام ملفات .env القياسية لإعداد التكوين.إعداد متغيرات البيئة
1. إنشاء ملف .env.local
قم بنسخ.env.example إلى .env.local واملأ القيم الفعلية الخاصة بك:cp .env.example .env.local
2. متغيرات البيئة المطلوبة
#### إعداد Supabase
NEXT_PUBLIC_SUPABASE_URL- عنوان مشروع Supabase الخاص بكNEXT_PUBLIC_SUPABASE_ANON_KEY- مفتاح Supabase المجهول الخاص بكSUPABASE_SERVICE_ROLE_KEY- مفتاح دور خدمة Supabase الخاص بك (للاستخدام من جهة الخادم فقط)
STRIPE_SECRET_KEY- مفتاح Stripe السري الخاص بك (للاستخدام من جهة الخادم فقط)NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY- مفتاح Stripe للنشر الخاص بكSTRIPE_WEBHOOK_SECRET- سر Webhook الخاص بـ Stripe
NEXT_PUBLIC_SITE_URL- عنوان موقعك (للإنتاج)NEXTAUTH_URL- عنوان موقعك (نفس القيمة أعلاه)NEXTAUTH_SECRET- سر عشوائي لـ NextAuth
التطوير المحلي
- تثبيت التبعيات:
npm install
- قم بإعداد متغيرات البيئة الخاصة بك في
.env.local - شغّل خادم التطوير:
npm run dev
- اختبر Webhooks الخاصة بـ Stripe محلياً باستخدام Stripe CLI:
stripe listen --forward-to localhost:3000/api/stripe/webhook
النشر للإنتاج
النشر على Vercel
- النشر على Vercel:
npx vercel
- متغيرات البيئة:
- إعداد Webhook لـ Stripe:
- وجه الـ webhook إلى:
https://your-domain.vercel.app/api/stripe/webhook
نقاط النهاية لواجهة برمجة التطبيقات (API Endpoints)
يستخدم التطبيق الآن هذه المسارات المحلية لواجهة برمجة التطبيقات:
POST /api/stripe/checkout- ينشئ جلسات دفع StripePOST /api/stripe/webhook- يتعامل مع أحداث Webhook لـ Stripe
فوائد المسارات المحلية لواجهة البرمجة
- نشر أبسط - لا حاجة لنشر وظائف Edge منفصلة
- متغيرات البيئة - دعم قياسي لملفات .env
- تصحيح الأخطاء بشكل أفضل - أسهل في التصحيح محلياً
- تكامل مع الإطار البرمجي - تكامل أفضل مع Next.js
- لا يوجد اعتماد على جهة واحدة - يمكن النشر على أي منصة تدعم Next.js
استكشاف الأخطاء وإصلاحها
- مشاكل Webhook:
- تأكد من أن
STRIPE_WEBHOOK_SECRETيطابق نقطة نهاية webhook في Stripe - تحقق من سجلات webhook في لوحة تحكم Stripe
- تحقق من صحة عنوان URL الخاص بالـ webhook
- مشاكل متغيرات البيئة:
- تأكد من ضبط جميع المتغيرات المطلوبة
- تحقق من عدم وجود أخطاء إملائية في أسماء المتغيرات
- تحقق أن مفتاح دور خدمة Supabase لديه الصلاحيات المناسبة
- مشاكل CORS:
- تشمل مسارات API رؤوس CORS المناسبة
- تأكد من إدراج نطاقك في القائمة البيضاء إذا لزم الأمر
ملاحظات الأمان
- لا تعرض أبداً
STRIPE_SECRET_KEYأوSUPABASE_SERVICE_ROLE_KEYللعميل - استخدم بادئة
NEXT_PUBLIC_فقط للمتغيرات الخاصة بالعميل - قم بتدوير أسرار الـ webhook بشكل منتظم
- راقب تسليم webhook في لوحة تحكم Stripe