system-prompts-and-models-o.../salesflow-saas/docs/LAUNCH_CHECKLIST.md
Sami Assiri 67fcc35877 chore(dealix): launch checklist, E2E port helper, OpenAPI path scan
- Document verify-launch, py/py-3, E2E, and port 3000 troubleshooting
- Add scripts/kill-port-3000.ps1 for Playwright webServer conflicts
- Increase Playwright webServer timeout to 180s
- Extend verify_frontend_openapi_paths for template literals; empty allowlist
- Commit Next routes.d.ts reference in next-env.d.ts after build

Made-with: Cursor
2026-04-12 23:13:29 +03:00

42 lines
3.1 KiB
Markdown

# 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`.
## 3. الواجهة (Next.js)
- [ ] ضبط `NEXT_PUBLIC_API_URL` لنقطة نهاية الـ API العامة (انظر `frontend/.env.example`).
- [ ] التأكد من أن الـ backend يضمّن نطاق الواجهة في CORS (`FRONTEND_URL` / `main.py`).
## 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` عند التكاملات الحقيقية (قد يعيد 403 حتى اكتمال التهيئة — متوقع).
---
*سكربت موحّد (PowerShell): `verify-launch.ps1 -HttpCheck -SoftReady` — مع `-BaseUrl` إن لزم.*