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

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

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

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

مدخل إلى الدرس: تثبيت Prisma والاتصال بالقاعدة

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

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

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

  • تثبيت Prisma CLI وتهيئة المخطط في المشروع.
  • ضبط متغيرات البيئة DATABASE_URL بشكل آمن.
  • اختبار الاتصال الفعلي بأمر prisma db pull / migrate.

المخطط: كيف تُربط Prisma بالقاعدة في مشروعنا؟

flowchart TD
    PKG["package.json — dependency prisma"]
    ENV[".env — DATABASE_URL=postgresql://..."]
    PKG --> SCH["Prisma Schema
datasource db { provider postgresql · url env() }
generator client"] ENV --> SCH SCH --> GEN["npx prisma generate"] GEN --> CLIENT["@prisma/client"]

مثال

npm install prisma --save-dev
npm install @prisma/client

npx prisma init --datasource-provider postgresql
✔ Your Prisma schema was created at prisma/schema.prisma
✔ You can now open it in your editor
✔ Next steps...
  .env DATABASE_URL="postgresql://USER:PASSWORD@HOST:PORT/DB".

مثال

.env
DATABASE_URL="postgresql://wedding:wedding_dev_pass@localhost:5432/wedding_db"

# prisma/schema.prisma (تعديلاً أولياً)
generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

مثال

# فحص جاهزية الاتصال قبل كتابة النماذج
npx prisma validate
Datasource "db": PostgreSQL database "wedding_db" at "localhost:5432" 

add .env إلى .gitignore فوراً. لا نصوّر المفاتيح ولا كلمة المرور في أي مخرجات عامة.

الخلاصة السريعة

  • متغير base عبر .env يُقصد ألا يدخل vcs.
  • validate يكشف أخطاء تركيب المخطط قبل أي ترحيل.
  • نتصفح دعم PostgreSQL داخل schema.datasource.

تمرين تطبيقي: عدّل .env إلى القيم الصحيحة محلياً ثم نفّذ npx prisma validate واعرض ناتجه دون المفتاح.

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

  • نسيان إضافة .env إلى gitignore حيث تحوّل الـ env ملفات المشروع.
  • توجيه أوامر التطوير إلى قاعدة بعيدة/إنتاج بلا رقابة.
  • استخدام provider آخر يغير صياغة الأنواع والنماذج.

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

Prisma CLI
أداة تهيئة وترحيل وتوليد عميل Prisma.
schema.prisma
ملف تعريف قاعدة البيانات والنماذج.
env()
دالة قراءة متغيرات البيئة في المخطط.

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

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