mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2026-06-18 07:19:35 +00:00
8.1 KiB
8.1 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. - نفس البوابة + OpenAPI + go-live CLI:
.\verify-launch.ps1 -WithOpenApiGate— يضيفscripts/verify_frontend_openapi_paths.pyوscripts/check_go_live_gate.py(بدون تشغيل uvicorn). - Release hardening (عقود الوثائق/البيئة):
py -3 scripts/release_hardening_gate.py. - AI quality gate (golden + endpoint):
py -3 scripts/ai_quality_gate.py. 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/...`). يشمل استدعاءاتstrategic-dealsوintegrations/crmوai/routingعند إضافتها في الواجهة. - مراجعة
docs/API-MAP.mdمقابل OpenAPI الفعلي (/docsعلى الخادم) بعد أي إصدار يضيف مسارات جديدة. - قراءة سريعة لـ
docs/DEALIX_OS_PRODUCT_GUIDE_AR.mdللتأكد من توافق قصة المنتج مع الداشبورد. - (موصى به) تشغيل سيناريو محاكاة الإطلاق في
docs/LAUNCH_SIMULATION.mdوتسجيل نتيجةgo-live-gateلكل بيئة. - (موصى به) فحص أتمتة المسار الكامل على API حي: من
backend/شغّلpy -3 scripts/revenue_discovery_e2e_probe.py(أضف--jwtلمسار strategic-deals الكامل).
2. الخادم (API)
- تشغيل من أحدث كود في المستودع:
cd backend && python -m uvicorn app.main:app --host 0.0.0.0 --port 8000
(ويندوز إن لم يُعثر علىpython:py -3 -m uvicorn app.main:app --host 0.0.0.0 --port 8000) - SQLite محلي فقط: عند
DATABASE_URL=sqlite+aiosqlite://...يُنشئ التطبيق الجداول عند الإقلاع (init_db) لتسهيل الاختبار؛ الإنتاج يستخدم Postgres + Alembic (make migrate) وليس الاعتماد علىcreate_all. - إذا ظهر 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، إلخ) — قد يعيد 403 حتى اكتمال التهيئة (متوقع أثناء الإعداد). - اعتماد دورة تشغيل أسبوعية/شهرية كما في
docs/DEALIX_POST_LAUNCH_OPS_AR.md. - خطة التراجع: راجع
memory/runbooks/production-deployment-guide.mdوأي runbook تراجع مع الفريق.
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 لمسارات حساسة بدل الإعفاء. - إن لم تُضبط المتغير (فارغ)، الميدلوير لا يفرض التوكن — مناسب للتطوير المحلي فقط.
7. تمييز السوق (قبل الإعلان)
- مراجعة
docs/MARKET_POSITIONING_AR.mdومواءمة النسخ مع الميزات المفعّلة فعلياً.
سكربت موحّد (PowerShell): verify-launch.ps1؛ مع OpenAPI + go-live CLI: -WithOpenApiGate؛ مع API حي: -HttpCheck -SoftReady — مع -BaseUrl إن لزم.