المتطلبات
ما تحتاج إلى تثبيته قبل تشغيل حزمتك، باستخدام Docker أو من دونه.
لحزمة الحزمة الكاملة
ما تحتويه كل حزمة
| الحزمة | التطبيقات في التنزيل | يعمل بمفرده |
|---|---|---|
| الحزمة الكاملة | واجهة API، وموقع الطلبات، ولوحة تحكم الفريق | نعم، الثلاثة معًا |
| موقع الطلبات | موقع الطلبات | لا: يحتاج إلى واجهة API الخاصة بالقالب قيد التشغيل |
| لوحة تحكم الفريق | لوحة تحكم الفريق | لا: يحتاج إلى واجهة API الخاصة بالقالب قيد التشغيل |
| واجهة API (Backend API) | API | نعم، يقدّم واجهة API فقط |
حزمة التطبيق الواحد لا تتضمن التطبيقات الأخرى. الموقع ولوحة التحكم يقرآن كل شيء من واجهة API الخاصة بالقالب، وكود واجهة API موجود فقط في حزمتَي الحزمة الكاملة وواجهة API (Backend 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 24 أو أحدث، وهو الإصدار الذي يعلنه كل تطبيق وتستخدمه صورة Docker الخاصة به. تحقق من إصدارك بالأمر
node -v. - 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.
| التطبيق | المنفذ |
|---|---|
| API | 8000 |
| موقع الطلبات | 3030 |
| لوحة تحكم الفريق | 3031 |
المنفذ
يعمل الموقع على المنفذ 3030 ويتوقع واجهة API على 8000. تأكد من أن لا شيء آخر يستخدمهما.
المنفذ
تعمل لوحة التحكم على المنفذ 3031 وتتوقع واجهة API على 8000. تأكد من أن لا شيء آخر يستخدمهما.
المنفذ
تعمل واجهة API على المنفذ 8000، وتقبل افتراضيًا الموقع من 3030 ولوحة التحكم من 3031. تأكد من أن لا شيء آخر يستخدم المنفذ 8000.
واجهة API للربط
ليست لتطبيقك بيانات خاصة به. يحتاج إلى واجهة API الخاصة بالقالب قيد التشغيل ومعبّأة بالبيانات، وتضبط عنوانها في ملف .env الخاص به. تُباع واجهة API كحزمة مستقلة، هي واجهة API (Backend API)، وهي جزء من الحزمة الكاملة.
الخدمات الاختيارية
لا تحتاج إلى أي منها لتشغيل المطعم محليًا. يُفعَّل كل منها بمتغيراته في ملف .env الخاص بواجهة API؛ والمتغير الذي يبقى معلّقًا كتعليق يُبقي ميزته متوقفة.
| الخدمة | من دونها |
|---|---|
| Stripe أو PayPal | يوفّر إتمام الطلب دفعًا تجريبيًا مدمجًا يجعل الطلب مدفوعًا من دون تحويل أي مال، لتجربة المسار. |
| Cloudflare R2 أو مخزن آخر متوافق مع S3 | تُحفظ الملفات المرفوعة على قرص واجهة API نفسها (مع Docker، في وحدة تخزين البيانات)، وتقدّم واجهة API الصور التجريبية بنفسها. |
| Resend، للبريد | يستجيب «نسيت كلمة المرور» كالمعتاد لكنه لا يرسل شيئًا، ويذكر سجل واجهة API أن البريد غير مضبوط. |
| مفتاح Google AI (Gemini) | يعرض المساعد الذكي، وكاتب التفاصيل في الاستوديو، وإعادة تنسيق الصور أنها غير متصلة. |
| مفتاح Higgsfield وسرّه | تبقى الصور والمقاطع المولّدة في الاستوديو متوقفة. |
| ملف نموذج إزالة الخلفية | لا يظهر زر «إزالة الخلفية» في الاستوديو. يعمل على خادمك الخاص، ولا يحتاج إلى مفتاح، ولا يكلّف شيئًا لكل صورة. |