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

E-Commerceالمتطلبات

المتطلبات

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

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

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

الحزمةالتطبيقات في التنزيليعمل بمفرده
الحزمة الكاملةواجهة API، والمتجر، ولوحة الإدارةنعم، الثلاثة معًا
المتجرالمتجرنعم، على متجر نموذجي مدمج إلى أن تربط واجهة API الخاصة بالقالب
لوحة الإدارةلوحة الإدارةنعم، على متجر نموذجي مدمج إلى أن تربط واجهة API الخاصة بالقالب
واجهة API (Backend API)APIنعم، يقدّم واجهة 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 أو أحدث. القالب مختبَر على Node.js 24، وهو الإصدار الذي تستخدمه صور Docker الخاصة به أيضًا. والمتجر وحده يعمل أيضًا على Node.js 20.9.
  • Yarn 4، عبر Corepack. شغّل corepack enable مرة واحدة؛ كل تطبيق يثبّت إصدار Yarn الخاص به، فيختار yarn الإصدار الصحيح. إذا لم يكن مع Node.js لديك Corepack، فثبّته أولًا بالأمر npm install -g corepack.
  • لا حاجة إلى حزم عامة.

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

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

المنافذ

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

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

المنفذ

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

المنفذ

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

المنفذ

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

واجهة API للربط

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

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

لا تحتاج إلى أي منها لتشغيل المتجر محليًا. تُفعَّل كل خدمة بمفاتيحها في back-end/.env، والمفتاح الذي يبقى بقيمته في .env.example يُعامَل كأنه غير مضبوط.

الخدمةمن دونها
Cloudflare R2 أو مخزن آخر متوافق مع S3تُعرض صور المتجر التجريبي من نسخ مرفقة مع الواجهتين الأماميتين. ورفع صور جديدة يُجاب بـ 503 إلى أن تضبط مخزنًا.
Stripeلا يُقبل أي دفع بالبطاقة: يوضح خيار البطاقة في صفحة إتمام الشراء أن الدفع بالبطاقة غير متاح، ويعمل الدفع عند الاستلام كالمعتاد.
مفتاح Google AI (Gemini)يُظهر كلٌّ من مساعد لوحة الإدارة، ووضع «المساعد» في الاستوديو (كتابة تفاصيل المنتج وتعديل الصور)، وغرفة القياس في المتجر أنه متوقف. ويحتاج الاستوديو وغرفة القياس إلى المخزن أيضًا.
مفتاح Higgsfield وسرّهيُظهر وضع «تحريك» في الاستوديو، الذي يصنع مقاطع فيديو للمنتج، أنه متوقف.
ملف نموذج إزالة الخلفيةلا يظهر زر «إزالة الخلفية» في الاستوديو. يعمل النموذج على خادمك الخاص، ويحتاج إلى المخزن لحفظ نتائجه، ولا يكلّف شيئًا عن كل صورة.

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

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

حل المشكلات

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

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