نموذج أولي تفاعلي — كل الجامعات والرسوم والشروط المعروضة بيانات تجريبية (Demo) وليست حقيقية.
التوثيق

المعمارية، البيانات، وما تم تنفيذه

1. ما تم تنفيذه في هذا النموذج

الوحدةالنطاقالحالة
رحلة الطالبمعالج من 6 خطوات، حفظ تلقائي، رجوع دون فقدان بيانات، ترتيب بالسحب والإفلات، حدود قابلة للضبطيعمل
محرك التوصياتقواعد شفافة: المعدل الموحّد، اللغة، المنهج، الميزانية، الموعد، الخصومات؛ بلا حشويعمل
القائمة والدفع5 لكل دولة/25 إجمالًا، دفع تجريبي، فشل/نجاح، إيصال، مفاتيح عدم تكرارمحاكاة
الطلبات والعروضدورة الحالات كاملة، عروض بصلاحية، قبول، فاتورة تسجيل مع خصم الجدية مرة واحدةمحاكاة
بوابة الجامعةتسجيل بنطاق رسمي + رمز + مراجعة يدوية، البرامج والرسوم، الطلبات، العروض الجماعية، السفراء، الفريق، التقاريريعمل
لوحة الإدارةمؤشرات، تحقق ونشر، رسوم وحدود وعمولات وأسعار صرف، تصنيفات، جغرافيا، استرداد، سجل تدقيقيعمل
ثنائية اللغةكل الواجهات والرسائل بالعربية (RTL) والإنجليزية (LTR)يعمل
هذا نموذج أولي يعمل بالكامل في المتصفح، وتُحفظ بياناته محليًا في متصفحك فقط. لا يرسل طلبات حقيقية للجامعات ولا يحصّل أي مبلغ.

2. ما يحتاج تكاملًا خارجيًا أو بيانات حقيقية

  • بيانات الجامعات الحقيقية: عبر بوابة الجامعة نفسها، أو اتفاقيات تبادل بيانات، أو مصادر رسمية مرخّصة. لا يُنشر أي رقم دون مصدر.
  • التصنيفات العالمية: ترخيص من QS / THE / ARWU مع ذكر السنة والمصدر.
  • الدفع: Stripe للتغطية العالمية، مع Checkout.com أو مزود محلي في الخليج، وTap/HyperPay في المنطقة؛ Webhooks لتأكيد الدفع.
  • إرسال الطلبات للجامعات: API أو SFTP أو تكامل مع أنظمة CRM للقبول (مثل Slate وSalesforce Education Cloud)، أو تصدير يدوي موثّق.
  • البريد والرسائل: Amazon SES / SendGrid، وTwilio للرسائل القصيرة ورموز التحقق.
  • أسعار الصرف: مزود يومي (مثل Open Exchange Rates) مع تثبيت السعر عند إصدار الفاتورة.
  • الإحصاءات العالمية: UNESCO UIS وOECD Education at a Glance.
  • الجلسات المباشرة لـ «اسأل طالبًا»: Daily.co أو Zoom Video SDK.

3. المعمارية التقنية المقترحة

WebNext.js 15 · React · TypeScript · Tailwind + Design System tokens · next-intl (RTL/LTR)
APINestJS (Node.js) · REST + OpenAPI · RBAC guards · Zod validation
DataPostgreSQL 16 (Row-Level Security per tenant) · Prisma · Redis cache
SearchMeilisearch / OpenSearch — multilingual, typo-tolerant, faceted
MatchingService in Python/TS: rules engine v1 → learning-to-rank v2 with offline evaluation
JobsBullMQ: notifications, offer expiry, discount thresholds, FX refresh
FilesS3-compatible storage, KMS encryption, ClamAV scan, signed URLs
InfraAWS (me-central-1 + eu + us regions) · Docker · Terraform · CloudFront

لماذا؟ Next.js يعطي صفحات دليل قابلة للأرشفة في محركات البحث مع واجهات تفاعلية للوحات. NestJS يفرض بنية وحدات واضحة وحراسات صلاحيات على الخادم. PostgreSQL مع Row-Level Security يفصل بيانات كل جامعة على مستوى قاعدة البيانات نفسها. مناطق متعددة لاستضافة البيانات قرب المستخدمين وتلبية متطلبات الإقامة.

4. نموذج البيانات

الجدولالأعمدة الرئيسية
usersid، email، phone، role، locale، mfa، created_at
student_profilesuser_id، nationality، dob، study_country، city، school، curriculum_id، grade_scale
student_gradesprofile_id، term (S1/S2/S3/G11)، raw_value، normalized، method_version
student_preferencesprofile_id، type (major|country)، ref_id، priority
universitiesid، names{i18n}، country، city_id، domain، type، verified_at، published
university_membersuser_id، university_id، role (owner|admissions|finance|content|voice)
programsid، university_id، major_id، tuition_minor، currency، years، min_grade، lang_reqs، seats، deadline، data_status
taxonomyfaculties ← fields ← majors ← sub_majors (كلها i18n)
applicationsid، student_id، program_id، cycle_id، status، submitted_at
application_eventsسجل غير قابل للتعديل لكل تغيير حالة
offersapplication_id، conditions، scholarship_pct، expires_at، response
ledger_entriesid، kind، amount_minor، currency، beneficiary، status، idempotency_key UNIQUE
deposit_creditsdeposit_entry_id UNIQUE، state، applied_invoice_id UNIQUE
invoicesapplication_id، fee، credit، discount، due، fx_rate_locked
group_offersprogram_id، min_students، pct|amount، window، status
commissionsgroup_offer_id، application_id UNIQUE، model، amount
ambassadors / questions / appointmentsconsent_at، withdrawn_at؛ لا بيانات تواصل مكشوفة
settingsمفتاح/قيمة مع إصدارات (رسوم، حدود، نماذج عمولة، نطاقات)
audit_logsactor، action، entity، before/after، ip، at

منع الخصم المزدوج: قيد UNIQUE على applied_invoice_id وعلى deposit_entry_id في جدول deposit_credits، والتحديث داخل معاملة SERIALIZABLE مع SELECT … FOR UPDATE. المبالغ تُخزَّن بالوحدة الصغرى (سنتات) كأعداد صحيحة.

5. مسارات المستخدم

الدورالمسار
الطالبحساب ← أكاديمي ← تخصصات (≤20) ← مناطق ودول (≤5) ← ميزانية ← توصيات ← قائمة (≤5/دولة، ≤25) ← دفع الجدية ← طلبات ← وثائق ← عروض ← قبول ← فاتورة (− الجدية) ← مسجّل
الجامعةتسجيل بنطاق رسمي ← رمز ← مراجعة يدوية ← ملف ← برامج ورسوم (تأكيد البيانات) ← طلبات ← حالات ← عرض قبول ← عروض جماعية ← سفراء
الإدارةمراجعة التحقق ← نشر ← إعدادات الرسوم والحدود والعمولات ← تصنيفات وجغرافيا ← المدفوعات والاسترداد ← التدقيق

6. الأمن والخصوصية والامتثال

  • المصادقة: Argon2id لكلمات المرور، مفاتيح المرور (Passkeys)، OAuth، ومصادقة ثنائية إلزامية لحسابات الجامعات والإدارة.
  • الصلاحيات: RBAC على الخادم + Row-Level Security؛ الجامعة ترى فقط الطلبات المقدمة إليها.
  • التشفير: TLS 1.3 أثناء النقل، AES-256 مع KMS عند التخزين، وتشفير على مستوى الحقل لتاريخ الميلاد ورقم الهاتف.
  • المدفوعات: لا تمر بيانات البطاقات بخوادمنا (حقول مستضافة لدى المزود، نطاق PCI DSS SAQ-A).
  • الخصوصية: موافقات مُسجلة، تصدير وحذف البيانات، سياسات احتفاظ، مراعاة GDPR وقانون حماية البيانات الشخصية الإماراتي (PDPL) ونظام حماية البيانات الشخصية السعودي وFERPA عند التعامل مع جامعات أمريكية.
  • القاصرون: الطلاب دون 18 عامًا يحتاجون موافقة ولي الأمر وفق قوانين كل دولة.
  • التشغيل: نسخ احتياطية يومية مشفرة مع استعادة لنقطة زمنية، سجلات تدقيق غير قابلة للتعديل، مراقبة وتنبيهات، واختبار اختراق قبل الإطلاق.

7. الافتراضات

  • التحويل إلى المعدل الموحّد خطي (القيمة ÷ الحد الأقصى) ودرجات A-Level بنقاط ثابتة؛ وهو تقديري للمقارنة وليس معادلة رسمية.
  • الطالب «مؤهل مبدئيًا» إذا تجاوز الحد الأدنى واستوفى اللغة والمنهج؛ «يحتاج مراجعة» إذا كان أقل بـ 5 نقاط أو أقل أو ينقصه شرط لغة/منهج.
  • تُخفى البرامج التي تتجاوز الميزانية بأكثر من 25%.
  • رسوم الجدية قابلة للاسترداد فقط ما دام رصيدها غير مستخدم.
  • العمولة تُحتسب مرة واحدة لكل طالب مسجّل في برنامج تحقق خصمه الجماعي.
  • رسوم التسجيل الجامعية تُدفع عبر المنصة كوكيل تحصيل ثم تُحوَّل للجامعة؛ ويمكن بدلًا من ذلك الدفع المباشر للجامعة.

8. خطة المراحل

#المرحلةالحالة
1التخطيط والتصميم: الاسم، الهوية، المعمارية، قاعدة البيانات، المسارات، نظام التصميم، النموذج التفاعليهذا النموذج
2المنتج الأساسي: Next.js + NestJS + PostgreSQL، التسجيل، الدليل، التوصيات، اللوحات8–10 أسابيع
3الأنظمة المتقدمة: الدفع الحقيقي، تكاملات الجامعات، الخصومات والعمولات، اسأل طالبًا، الإشعارات، التقارير8 أسابيع
4الاختبار والإطلاق: E2E لكل الرحلات، RTL/LTR، الصلاحيات، الدفع، الأداء، اختبار اختراق، تجربة مع 10–20 جامعة4–6 أسابيع