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

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

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

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

مدخل إلى الدرس: قاعدة بيانات إنتاج مُدارة وأمانها

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

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

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

  • اختيار خدمة المدارة (Neon/Supabase) وربطها بالمنطقة.
  • تكوين sslmode وارتباطات الأنواع عند الاتصال.
  • نسخ احتياطي وسنابات قابلة للتوسع ومراقبة.

مثال

.env.production (لا يُرفع إلى git)
DATABASE_URL="postgresql://user:pass@srv.region.db:5432/db?sslmode=require"
DIRECT_URL="postgresql://user:pass@srv.region.db:5432/db?sslmode=require"   # للترحيل/بروكسي

المخطط: شبكة DB المنزّل لمواقعها في الإنتاج

flowchart TD
    V["Vercel — وظائف الخادم"] -->|"TLS (sslmode=require)"| P["Pooler
Supabase/Neon"] P --> PG["PostgreSQL الرئيسي
(منطقة قريبة من Vercel)"] PG --> R["Replica للقراءة
(اختياري عند الكثافة)"] PG --> B["نقاط تعافٍ يومية (backups) + رصد"]

لماذا poold؟

Serverless يفتح اتصالات عابرة كثيرة؛ Poold يضغطها ويربط PG بعُدد محدودة، فيمنع استنفاد max_connections في الذروة. يكفي رابطان: DATABASE_URL (كتابة/قراءة عبر pool) و DIRECT_URL (تخصيص للترحيل).

عادات أمان

لا نرفع .env.production إطلاقاً؛ قيمها من منصة المتغيرات سرية. والنسخ الاحتياطي في الخدمات المملوكة يُفعّل تلقائياً غالباً لكن تفقّد سياسة الاحتفاظ قبل أن تعتمد.

تمرين تطبيقي: افتح خدمة قاعدة مدارة وأنشئ قاعدة، ثم أدخل سلسلة الاتصال في .env.production وشغّل prisma migrate deploy دون رفع أي سر إلى المستودع.

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

  • نسيان sslmode=require فيُرسل اتصال TLS غير محمي فوق الشبكة.
  • الاتصال المباشر بالطرف الرئيسي بدل pool → استنفاد المنافذ تحت serverless.
  • الاعتماد على نسخ تلقائية دون التحقق من سياسة الاحتفاظ ووقت التعافي.

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

Poold
بروكسي يجمع اتصالات العبّر إلى PG.
sslmode
فرض تشفير ناقل الشبكة في سلسلة الاتصال.
DIRECT_URL
رابط مثيل مثالي لأدوات الترحيل دون pool.

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

اختبار سريع: اشرح بعبارتك معنى «قاعدة بيانات إنتاج مُدارة وأمانها»، ثم بيّن أين ستستخدمه داخل نظام تسجيل حضور دعوات مناسبة عبر رمز 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

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