mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2026-06-17 23:09:35 +00:00
- Add scripts/check_go_live_gate.py for in-process go-live-gate summary - LAUNCH_CHECKLIST: go-live-gate section, CORS/FRONTEND_URL/NEXT_PUBLIC details, internal token review - internal_api: pointer to checklist section 6 for strict production review Made-with: Cursor
5.8 KiB
5.8 KiB
Dealix — قائمة جاهزية الإطلاق (إنتاج / staging)
1. الكود والاختبارات
- اختبارات الباكند: من
backend/شغّلpython -m pytest tests -q(مثل CI على Linux) أو على ويندوز إذا الأمرpythonغير موجود:py -3 -m pytest tests -q. - بوابة موحّدة (موصى به): من جذر
salesflow-saas:.\verify-launch.ps1— يشغّل pytest + مزامنة التسويق + lint + build. cd frontend && npm run lint && npm run build(أو تُغطّى بواسطةverify-launch.ps1).- من جذر
salesflow-saas:node scripts/sync-marketing-to-public.cjs(يُشغَّل أيضاً تلقائياً قبلnpm run build). - E2E (Playwright): بعد
npm run build، حرّر المنفذ 3000 ثم منfrontend/:CI=true npm run test:e2e. إن ظهر «port already in use» أو timeout علىwebServer: من جذرsalesflow-saasشغّل.\scripts\kill-port-3000.ps1ثم أعد المحاولة. - (اختياري) من جذر
salesflow-saas:py -3 scripts/verify_frontend_openapi_paths.py(أوpython3 scripts/...) — يطابق مسارات/api/v1في الفرونت مع OpenAPI (حرفيًا وفي قوالب مثل`${base}/api/v1/...`).
2. الخادم (API)
- تشغيل من أحدث كود في المستودع:
cd backend && python -m uvicorn app.main:app --host 0.0.0.0 --port 8000
(ويندوز:py -3 -m uvicorn app.main:app --host 0.0.0.0 --port 8000) - إذا ظهر 404 على
/api/v1/marketing/hubأو/api/v1/strategy/summaryفالعملية غالباً قديمة — أعد تشغيلuvicornبعدgit pull. - اختبار HTTP (من مجلد
backend/):
py -3 scripts/full_stack_launch_test.py --http-only --soft-ready
أو من جذرsalesflow-saas:
.\scripts\grand_launch_verify.ps1 -HttpCheck -SoftReady
معDEALIX_BASE_URLإذا لم يكن الـ API علىhttp://127.0.0.1:8000.
2.1 بوابة الجاهزية التجارية (go-live-gate)
- مع تشغيل الـ API وبعد ضبط
.envالحقيقي (staging أو إنتاج): استدعِ
GET /api/v1/autonomous-foundation/integrations/go-live-gate - 200 +
launch_allowed: trueيعني اجتياز الفحوص الحاسمة حسبgo_live_matrix.py. 403 مع نفس شكل JSON يعني وجود فحوص معطّلة — راجعblocked_reasonsوblocking. - من الطرفية (خادم على 8000):
curl -sS http://127.0.0.1:8000/api/v1/autonomous-foundation/integrations/go-live-gate - ملخص سريع بدون uvicorn (يحمّل التطبيق داخل العملية، مثل الاختبارات): من جذر
salesflow-saas:
py -3 scripts/check_go_live_gate.py
(للطباعة الكاملة:py -3 scripts/check_go_live_gate.py --json)
3. الواجهة (Next.js)
- ضبط
NEXT_PUBLIC_API_URLلعنوان الـ API الذي يصل إليه المتصفح فعليًا (HTTPS في الإنتاج). مرجع:frontend/.env.example. - CORS: في الباكند عرّف
FRONTEND_URL(أصل الواجهة الافتراضي، مثلhttps://app.dealix.sa) فيbackend/.env— يُستخدم فيmain.pyمع أصول ثابتة إضافية. لأصول إضافية (معاينة، دومين قديم):CORS_EXTRA_ORIGINSقائمة مفصولة بفواصل — انظرapp/config.py. - تحقق من أن قيمة
NEXT_PUBLIC_API_URLعلى الواجهة تطابق المخطط والشهادة (لا خلطhttp/httpsأو دومين خاطئ) حتى لا تفشل طلباتfetch/apiFetch.
4. الأسرار والبيئة
- نسخ
.envمن.env.example(جذر المشروع أوbackend/.env) وملء المفاتيح الحرجة. - ملف الربط الشامل: راجع
docs/INTEGRATION_MASTER_AR.mdثم انسخbackend/.env.phase2.exampleإلىbackend/.envوعبّئ كل الفحوص الإلزامية (أمان، قاعدة، ذكاء، بريد، Salesforce، واتساب حي، Stripe + webhook، Twilio، توقيع).
5. ما بعد الإطلاق
- مراقبة
/api/v1/healthو/api/v1/ready. - إعادة فحص
go-live-gateبعد أي تغيير على أسرار الطرف الثالث (Stripe، البريد، CRM، إلخ).
6. أمان DEALIX_INTERNAL_API_TOKEN (إنتاج)
عند تعيين DEALIX_INTERNAL_API_TOKEN في الباكند، يُطلب Authorization: Bearer <التوكن> على معظم مسارات /api/v1، مع قائمة إعفاءات واسعة للمسارات العامة والتسويق والديمو — التنفيذ في app/middleware/internal_api.py.
- Staging / ديمو: الإعفاءات الحالية تسمح للواجهة بجلب محتوى عام ولوحات ديمو دون التوكن الداخلي؛ هذا متعمد لتجربة المطوّر.
- إنتاج صارم: راجع ما إذا كانت مسارات الإعفاء (مثل أجزاء من التسويق أو
dealix/generate-leads) مقبولة لسياسة المنتج؛ يمكن لاحقًا تقييد الإعفاءات حسبENVIRONMENTأو إلزامapiFetch+ JWT لمسارات حساسة بدل الإعفاء. - إن لم تُضبط المتغير (فارغ)، الميدلوير لا يفرض التوكن — مناسب للتطوير المحلي فقط.
سكربت موحّد (PowerShell): verify-launch.ps1 -HttpCheck -SoftReady — مع -BaseUrl إن لزم.