انتقل إلى المقال
Aniq-UI

Learnioالمتطلبات

المتطلبات

ما تحتاج إلى تثبيته قبل تشغيل حزمتك، باستخدام Docker أو من دونه.

لحزمة الحزمة الكاملة

ما تحتويه حزمتك

الحزمةالتطبيقات في التنزيليعمل بمفرده
الحزمة الكاملةAPI، موقع الطلاب، لوحة الإدارةنعم، الثلاثة معًا
موقع الطلابموقع الطلابنعم، على البيانات النموذجية المرفقة إلى أن تربطه بواجهة API من Learnio
لوحة الإدارةلوحة الإدارةنعم، على محاكاة داخل المتصفح إلى أن تربطها بواجهة API من Learnio
APIAPIنعم، يقدّم واجهة API فقط

لا تتضمن حزمة التطبيق الواحد التطبيقات الأخرى. يمكن للواجهتين الأماميتين استخدام واجهة API تشغّلها بالفعل، لكن شيفرة واجهة API لا تأتي إلا في الحزمة الكاملة وحزمة API.

باستخدام Docker

  • Docker Desktop على macOS أو Windows، أو Docker Engine مع إضافة Compose على Linux. تبدأ الحزمة الكاملة بأمر docker compose واحد.
  • اتصال بالإنترنت للبناء الأول، الذي ينزّل الصور الأساسية والاعتماديات.
  • لا شيء آخر: يجلب Docker معه Node.js، وقاعدة البيانات ملف SQLite داخل وحدة تخزين Docker.

باستخدام Docker

  • Docker Desktop على macOS أو Windows، أو Docker Engine على Linux. لتطبيقك ملف Dockerfile خاص به؛ ولا حاجة إلى Compose.
  • اتصال بالإنترنت للبناء الأول، الذي ينزّل الصورة الأساسية والاعتماديات.

من دون Docker

  • Node.js 22 أو 24، وهما إصدارا LTS اللذان يُختبر Learnio عليهما. يعمل Node 26 أيضًا، لكنه لم يعد يتضمن Corepack: شغّل npm install -g corepack أولًا.
  • Yarn 4، عبر Corepack. شغّل corepack enable مرة واحدة؛ يثبّت كل تطبيق إصدار Yarn الخاص به، فيختار yarn الإصدار الصحيح.

قاعدة البيانات

لا حاجة إلى خادم قاعدة بيانات ولا إلى مترجم C++. تستخدم واجهة API قاعدة SQLite افتراضيًا وتنشئ الملف بنفسها؛ ويستخدم Docker قاعدة SQLite أيضًا. MySQL مدعومة بتغيير في الإعدادات، لا بتغيير في الشيفرة.

المنافذ

يستمع كل تطبيق على منفذ محلي ثابت. تأكد من أن لا شيء آخر يستخدم هذه المنافذ، أو انقل أحدها مع Docker بـ SITE_PORT أو ADMIN_PORT أو API_PORT في ملف .env بجوار docker-compose.yml.

التطبيقالمنفذ
API8000
موقع الطلاب3030
لوحة الإدارة3031

المنفذ

يستمع موقع الطلاب على المنفذ 3030. تأكد من أن لا شيء آخر يستخدمه.

المنفذ

تستمع لوحة الإدارة على المنفذ 3031. تأكد من أن لا شيء آخر يستخدمه.

المنفذ

تستمع واجهة API على المنفذ 8000. تأكد من أن لا شيء آخر يستخدمه.

واجهة API للربط

لا تحتاج إلى شيء لتجربة تطبيقك: فهو يعمل على بياناته النموذجية الخاصة. ولاستخدام بيانات حقيقية، يحتاج إلى واجهة API من Learnio قيد التشغيل، تضبط عنوانها في ملف .env الخاص به. تُباع واجهة API كحزمة مستقلة.

الخدمات الاختيارية

لا تحتاج إلى أي منها لتشغيل Learnio محليًا. تُفعَّل كل خدمة بمفاتيحها في back-end/.env.

الخدمةمن دونها
Cloudflare R2 أو مخزن آخر متوافق مع S3تُقدَّم الوسائط من الملفات النموذجية المرفقة بالتطبيقات؛ يتوقف رفع الوسائط الجديدة فقط.
Resend، للبريد الإلكترونيتُكتب كل رسالة في سجل واجهة API بدلًا من إرسالها.
Stripe و PayPalيعمل الدفع على محاكٍ مدمج يُتم الطلبات دون أن يحصّل مالًا من أحد. ولا تحتاج الدورات المجانية إلى معالج دفع أبدًا.
مفاتيح Google أو OpenAI أو DeepSeekيطلب المساعد الذكي من المسؤول مفتاحه الخاص في المتصفح.
خادم Jitsi Meetيعرض التقويم الحصص المباشرة على أنها غير متاحة.

توقفت عند خطوة؟

ابحث عن الحل قبل أن تبدأ من جديد.

حل المشكلات

تفضيلات ملفات تعريف الارتباط

نستخدم ملفات تعريف الارتباط لتعزيز تجربة التصفح الخاصة بك وتحليل حركة المرور على الموقع وتخصيص المحتوى. بالنقر على "قبول الكل"، فإنك توافق على استخدامنا لملفات تعريف الارتباط للتحليلات والإعلانات المخصصة.