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

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

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

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

مدخل إلى الدرس: تحليل المتطلبات وتحديد الكيانات

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

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

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

  • تفكيك المتطلبات الوظيفية إلى متطلبات قابلة للقياس.
  • استخراج الكيانات الأربعة الأساسية وعلاقاتها.
  • صياغة قواعد عمل قابلة للتحقق في الكود.

المخطط: مخطط حالة استخدام (Use Case) للنظام بأكمله

flowchart TD
    org(("منظّم"))
    gst(("مدعو/ضيف"))
    gate(("موظف البوابة"))
    subgraph system ["نظام إدارة الأعراس والمناسبات"]
        E["المناسبات والضيوف"]
        I["الدعوات"]
        A["الحضور"]
    end
    org -->|ينشئ/يعدّل مناسبة| E
    org -->|يضيف مدعو/جدول| E
    org -->|يولّد QR دعوة| I
    org -->|يعرض إحصائيات دخول| A
    gst -->|يفتح دعوة + رد RSVP| I
    gate -->|يمسح QR + يسجل حضور| A

المتطلبات الوظيفية والفنية

الفئةالمتطلبكيف نتحقق منه
وظيفيإنشاء مناسبة وتعديل بياناتهازر في اللوحة + API POST/PATCH
وظيفيإضافة مدعوين بأرقام طاولاتنموذج إضافة + جدول
وظيفيدعوة لكل مدعو برابط وQRعنوان /i/[token] + صورة QR
وظيفيرد المدعو (قبول/اعتذار)نموذج RSVP → upsert
وظيفيتسجيل حضور عند البوابةمسح QR → POST checkin
فنيمنع حضور مكرر لمدعو واحدقاعدة CheckIn فريدة
فنيمنع تزوير الرابطتوقيع HMAC + فحص زمني

الكيانات الأربعة الأساسية

المخطط: مخطط العلاقات ERD المجرّد

erDiagram
    Event ||--o{ Guest : "يضم مدعو"
    Guest ||--o{ Rsvp : "رد واحد"
    Guest ||--o{ CheckIn : "سجلات حضور"

مبادئ التصميم

المفتاح: فصل «الحقيقة» في جدول مقابل — الرد جدول، الحضور جدول، فلا نفقد تاريخ التصرفات.

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

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

  • إضافة خانات رد/حضور داخل جدول المدعو فقط — يمنع تتبع التاريخ.
  • إهمال قيد منع التكرار حتى يظهر في الكود وحده.
  • نسيان الدور الثالث (الفرزة) فتبدو الواجهة مبنية لشخص واحد.

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

متطلب وظيفي
سلوك يجب أن يقوم به النظام (إنشاء مناسبة...).
كيان Entity
كائن رئيسي يُخزَّن في قاعدة البيانات (مناسبة/مدعو).
حالة استخدام
موقف من وجهة نظر مستخدم يحقق هدفاً عبر النظام.

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

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

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