دورة تطوير نظام إدارة الأعراس والمناسبات ودعوات QR عمليًا

إدارة المتغيرات السرية بيئة وواجهة

إدارة المتغيرات السرية بيئة وواجهة — نظام إدارة الأعراس والمناسبات ودعوات QR | Next.js وPrisma | أديب الصلوي
وقت الدراسة
10 دقيقة

المسار: تطوير نظام إدارة الأعراس ودعوات QR الوحدة: النشر والإنتاج

مدخل إلى الدرس: إدارة المتغيرات السرية بيئة وواجهة

إدارة المتغيرات السرية بيئة وواجهة — نظام إدارة الأعراس والمناسبات ودعوات QR | Next.js وPrisma | أديب الصلوي

طريقة الدراسة: اقرأ التعريف، تتبّع المثال في الشرح، نفّذه بنفسك، ثم اختبر النتيجة والحالات الاستثنائية قبل الانتقال.

أهداف هذا الدرس

  • فصل .env.dev عن .env.production واضحة القيم.
  • ضبط SIGNING_SECRET وقيم hit بقوة الفدية.
  • دورة المفاتيح: توليد، تحرّك، بطأة، محو.

مثال

# توليد سر التوقيع بقوة عالية (محلياً)
openssl rand -base64 48

# أو عبر node
node -e "console.log(require('crypto').randomBytes(48).toString('base64'))

المخطط: سفر المتغيرات من التطوير إلى الإنتاج

flowchart LR
    L[".env (محلي)"] -->|DEV| VS["Vercel Settings"]
    PR[".env.production (لا يُرفع)"] --> VS
    VS -->|متغيرات كل env| SG["SIGNING_SECRET"]
    VS -->|متغيرات كل env| DB["DATABASE_URL"]

قاعدة السريّة الوسطـى

  • كل سر (SIGNING_SECRET، DB، API مفتاح الثالث) مدخل في منصة Vercel وليس في الملفات.
  • اسم واحد ثابت SIGNING_SECRET؛ تتغيّر قيمته فقط — لا نعتمد على تغيير الأسماء في الكود.
  • توليد بكثافة: 48 بايت base64 > 192 بت يكفي؛ ثم ندور المفتاح دورياً لحالات الطوارئ.

سياسة التدوير

عند قسم السر (rotation): نعيد توليد روابط الدعوات (token+hash) لأن تغيير SECRET يبطل قُبْل القديمة تلقائياً — صيّراها لدينا خاصية إبطال واحد.

تمرين تطبيقي: تولّد سر 48 بايت، ضعه في منصّة المتغيرات، ثم اقطع النصوص: حدد doct to else? ثم احذف أي نسخة تحرص من المحلي.

أخطاء شائعة يجب تفاديها

  • نسخ .env.production إلى الحافظة ويتسرب— الناشر يرى سطر البيئة أحياناً.
  • مشاركة سر الجهاز الواحد عبر عدة خدمات يربك البطالة.
  • ترك SECRET في repo بغفلة من.gitignore ثم الحذف من repo هو بداية وليس نهاية.

معجم مصطلحات الدرس

تدوير السر
استبدال قيمة Secur بحيوية دون تغيير الكود.
environments في Vercel
فصل الثابتن dev/prev/prod لكل متغير.
base64
تمثيل بايتات عشوائية في نص سهل التوثيق.

مراجعة وتمرين تثبيت المهارة

اختبار سريع: اشرح بعبارتك معنى «إدارة المتغيرات السرية بيئة وواجهة»، ثم بيّن أين ستستخدمه داخل نظام تسجيل حضور دعوات مناسبة عبر رمز QR، وما الخطأ الذي يجب اختباره قبل الاعتماد على الحل.

تحدٍّ إضافي: غيّر شرطًا واحدًا في التطبيق، وتوقع النتيجة، ثم نفّذ الاختبار وفسّر الاختلاف.

الدرس التالي: قائمة الفحص النهائي قبل الإطلاق. من الأفضل إنهاء التجربة الحالية قبل متابعة الدرس التالي.

دروس نصية

#1

نظرة عامة على الدورة والمخرجات

#2

مقدمة إلى Next.js وأسباب اختياره

#3

أساسيات schema.prisma والنماذج

#4

مقدمة Route Handlers وبنية الاستجابة

#5

فهم Server Components والجلب الآمن

#6

تصميم الرمز Secured والتوقيع HMAC

#7

بناء الإنتاج وتجنّب أخطاء الحالة المربكة

#8

تحليل المتطلبات وتحديد الكيانات

#9

إنشاء مشروع Next.js وتجربته

#10

نموذج المناسبة Event بالعلاقات

#11

واجهة إنشاء المناسبة POST /api/events

#12

تصميم صفحة الدعوة الإلكترونية

#13

توليد صورة QR من قاعدة الدعوة

#14

نشر المشروع على Vercel

#15

تصميم قاعدة البيانات والعلاقات

#16

تجريب PostgreSQL محلياً وإنشاء قاعدة الداتا

#17

نموذج المدعو Guest مع الرمز الموقّع

#18

واجهات الضيوف الإضافة والقائمة

#19

نموذج الرد RSVP التفاعلي

#20

تجربة المسح في بوابة الحفل

#21

قاعدة بيانات إنتاج مُدارة وأمانها

#22

تدفق الدعوة وقراءة QR من التوليد إلى الحضور

#23

تثبيت Prisma والاتصال بالقاعدة

#24

نموذج الرد Rsvp ومنع التكرار

#25

واجهة تسجيل الحضور POST /api/checkin

#26

صفحة قائمة الضيوف والفرز

#27

واجهة تتفهم حالة الحضور والحصر

#28

إدارة المتغيرات السرية بيئة وواجهة

#29

سيناريو المشروع وقواعد العمل

#30

بنية مجلدات المشروع ومسارات الصفحات

#31

الاستعلام والجلب مع العلاقات

#32

التحقق من المدخلات ومعالجة الأخطاء

#33

لوحة الإحصائيات الحية

#34

تأمين الروابط والهجمات الشائعة

#35

قائمة الفحص النهائي قبل الإطلاق

#36

الترحيلات migrations والبذور seed

عرض الدروس كاملة تحقق من صفحة تعلم الدورة
درس نصي 4/36
أنت تشاهد
إدارة المتغيرات السرية بيئة وواجهة