نموذج البيانات
قاعدة البيانات هي PostgreSQL 16. يعتمد المخطط على ما تتقنه هذه القاعدة: طوابع زمنية بمنطقة زمنية، وقيود CHECK على القيم المهنية، وفهارس جزئية، وjsonb للإعدادات. القواعد تعيش في القاعدة نفسها، لا في الكود فقط. المرجع عمودًا بعمود موجود في مرجع الجداول.
مجال الكتالوج
Section titled “مجال الكتالوج”
themes→sub_themes: التصنيف ذو المستويين.products: كل ما يُباع، مع نوعه ومجاله وموضوعه الفرعي الاختياري وسعره ونافذته الترويجية.product_compose: الشجرة الانعكاسية أصل → فرع، مرتّبة. يمكن أن يكون للفرع عدة أصول؛ ترفض القاعدة الإشارة الذاتية، ويرفض الكود الحلقات غير المباشرة.product_contents: مقاطع المنتج، مرتّبة، مع مفتاح تخزينها الخاص وعلامة المقتطف المجاني.product_prerequisites: منتج يتطلب منتجًا آخر، وفق قاعدة. علاقة مستقلة عن التركيب.
مجال الحسابات والحقوق
Section titled “مجال الحسابات والحقوق”
users: المتعلمون والمديرون؛ بريد إلكتروني أو هاتف؛ دور وحالة ولغة.otp_challenges: رموز الدخول المعلّقة، مجزّأة (hash)، مع مهلة انتهاء وعدّاد للمحاولات.devicesو**personal_access_tokens**: جهاز واحد، رمز وصول واحد.access_rights: حق الوصول، على مستوى المنتج، مع مصدره. يميّز الملف بينDROIT_ACCESوDROIT_ACCES_SOURCE؛ أما المنصة فتجمعهما اليوم في جدول واحد، بسطر لكل مصدر — وسيأتي الفصل بينهما مع الطلبات والاستردادات.
ما يظهر على المخطط وليس بعد في القاعدة: التقدم (الدفعة L5)، والطلبات والسلة (الدفعة L7)، والاشتراكات (بحسب ADR-0004)، والشهادات (الدفعة L14).
مجال الإعدادات
Section titled “مجال الإعدادات”settings: إعداد واحد في كل سطر، منمّط، مع تبويبه وتسميته ونص مساعدته؛ القيمة بصيغةjsonbليبقى العدد الصحيح عددًا صحيحًا. المجموعة الكاملة محفوظة في الذاكرة المؤقتة، وتُبطَل عند كل كتابة.
الاصطلاحات
Section titled “الاصطلاحات”| الموضوع | الاصطلاح |
|---|---|
| المفاتيح | أعداد صحيحة ذاتية الزيادة؛ معرّفات URL (slug) فريدة لكل ما له صفحة |
| المحتوى | أعمدة تنتهي باللاحقة _ar؛ لا ترجمة للمحتوى في القاعدة |
| المبالغ | أعداد صحيحة بالسنتيم، مع العملة وفق ISO 4217 إلى جانبها |
| التواريخ | timestamptz؛ promo_starts_at / promo_ends_at، granted_at / expires_at / revoked_at |
| القيم المهنية | قيود CHECK مسمّاة {table}_{colonne}_allowed |
| الحذف | متسلسل لكل ما يتبع منتجًا أو حسابًا؛ تفريغ للإشارات الاختيارية |