system-prompts-and-models-o.../dealix/docs/launch/DEALIX_LAUNCH_NOW_BUNDLE.md
2026-05-01 14:03:52 +03:00

440 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🚀 Dealix — حزمة الإطلاق النهائية (نفّذ هذه الآن)
**هدف الجلسة:** من Partially Ready → REVENUE VERIFIED خلال 90 دقيقة.
**ترتيب التنفيذ:** من أعلى لأسفل — لا تتجاوز خطوة.
---
## ⏰ الجدول الزمني (90 دقيقة)
| الوقت | الخطوة | المدة |
|-------|---------|--------|
| 05 دقائق | Security (Phase 0) | 5 |
| 525 دقيقة | Railway deploy (Phase 1) | 20 |
| 2540 دقيقة | Moyasar setup (Phase 2) | 15 |
| 4055 دقيقة | 1 SAR test (Phase 3) | 15 |
| 5570 دقيقة | UptimeRobot + Sentry (Phase 5) | 15 |
| 7090 دقيقة | First LinkedIn DM (Phase 7) | 20 |
---
## 🔴 PHASE 0 — SECURITY (5 دقائق)
### A) احذف GitHub Token المكشوف
1. افتح: https://github.com/settings/tokens
2. ابحث عن `ghp_SEFH2559EQpaqZ6...`
3. اضغط عليه → **Delete**
4. ✅ تم
### B) Rotate PostHog API Key
1. افتح: https://app.posthog.com/settings/project
2. Project API Keys → **Rotate** (أو Generate New)
3. **انسخ الـ key الجديد** (سنضعه في Railway في Phase 1)
4. ✅ تم
---
## 🟡 PHASE 1 — RAILWAY DEPLOY (20 دقيقة)
### A) Generate Production Secrets (من طرفك، 3 دقائق)
افتح Terminal أي جهاز Python فيه، ولّد 3 secrets:
```bash
python3 -c "import secrets; print('APP_SECRET_KEY=' + secrets.token_hex(32))"
python3 -c "import secrets; print('MOYASAR_WEBHOOK_SECRET=' + secrets.token_hex(32))"
python3 -c "import secrets; print('ADMIN_TOKEN=' + secrets.token_hex(16))"
```
احفظهم في ملف محلي آمن (ليس في chat).
### B) Railway Dashboard (15 دقيقة)
1. افتح: https://railway.com/project/54bb60b4-d059-4dd1-af57-bc44c702b9f0
2. **Settings → Deploy:**
- Start Command: **امسحه تماماً** (اتركه فارغ)
- Watch Paths: يتركه الافتراضي
- احفظ
3. **Settings → Networking:**
- Generate Public Domain (إذا لم يولّد)
- انسخ الـ URL الناتج: سيكون بشكل `https://dealix-production-XXXX.up.railway.app`
4. **Variables → Raw Editor → الصق هذا (عدّل القيم):**
```env
# ── Runtime ────────────────────────────────────────────
ENVIRONMENT=production
APP_ENV=production
LOG_LEVEL=INFO
# ── Security (use the 3 values you just generated) ─────
APP_SECRET_KEY=<الـ hex من الخطوة A>
ADMIN_TOKEN=<الـ hex من الخطوة A>
# ── Database (Railway auto-adds this if Postgres service added) ─
DATABASE_URL=${{Postgres.DATABASE_URL}}
# ── Public URL (ضع URL الـ Railway من خطوة 3) ────────
APP_URL=https://dealix-production-XXXX.up.railway.app
PUBLIC_BASE_URL=https://dealix-production-XXXX.up.railway.app
# ── Moyasar (سنحدّثها في Phase 2) ────────────────────
MOYASAR_SECRET_KEY=sk_live_REPLACE_IN_PHASE_2
MOYASAR_WEBHOOK_SECRET=<الـ hex من الخطوة A>
# ── PostHog (الـ key الجديد من Phase 0-B) ─────────────
POSTHOG_API_KEY=phc_<الـ key الجديد>
POSTHOG_HOST=https://us.i.posthog.com
# ── CORS (لـ GitHub Pages + future domain) ────────────
CORS_ORIGINS=https://voxc2.github.io,https://dealix.sa,https://www.dealix.sa,http://localhost:3000
# ── Calendly ──────────────────────────────────────────
CALENDLY_URL=https://calendly.com/sami-assiri11/dealix-demo
# ── Sentry (optional لكن موصى به) ─────────────────────
SENTRY_DSN=
# ── CI/Deploy markers ─────────────────────────────────
GIT_COMMIT=f0a97677c1
BUILD_VERSION=3.1.0
```
5. **احفظ** → Review changes → **Deploy**
6. **راقب Deployments tab:**
- انتظر Status = `Active` (24 دقائق)
- إذا `Failed`: افتح Logs، ابعث screenshot لي
7. **رد بـ:**
```
RAILWAY DEPLOYED
URL: https://dealix-production-XXXX.up.railway.app
```
### C) Smoke Test (من طرفي فوراً بعد استلام URL)
سأشغّل:
```bash
curl -i https://<url>/healthz
curl -i https://<url>/api/v1/pricing/plans
```
**توقع:** 200 + JSON في كلاهما.
---
## 🟠 PHASE 2 — MOYASAR (15 دقيقة)
**قبل أن تبدأ:** Phase 1 يجب أن يكون Active ✅.
1. افتح: https://dashboard.moyasar.com
2. **API Keys (Settings → API Keys):**
- انسخ الـ `secret_key` (يبدأ بـ `sk_live_...`)
- ⚠️ إذا لديك secret قديم مسرّب: اضغط **Rotate/Regenerate**
- **لا تلصق الـ secret هنا** — مباشرة إلى Railway
3. **Railway → Variables → RAW Editor:**
- بدّل `MOYASAR_SECRET_KEY=sk_live_REPLACE_IN_PHASE_2`
- بالـ secret الحقيقي `sk_live_xxxxxxxxxxxxx`
- احفظ → سيُعيد deploy تلقائياً
4. **Moyasar Dashboard → Developers → Webhooks → Add Webhook:**
- URL: `https://<railway-url>/api/v1/webhooks/moyasar`
- Secret: **نفس قيمة** `MOYASAR_WEBHOOK_SECRET` في Railway (الـ hex اللي ولّدته في Phase 1-A)
- Events: ✅ `payment_paid``payment_failed``payment_refunded`
- **Save**
5. Moyasar Webhooks → اضغط **Send Test Event** على الـ webhook اللي أنشأته
6. **رد بـ:**
```
MOYASAR WEBHOOK SAVED
TEST EVENT SENT
```
---
## 🟢 PHASE 3 — 1 SAR E2E TEST (15 دقيقة)
### A) Create Invoice (من Terminal)
```bash
# استبدل <RAILWAY_URL> بـ URL الفعلي
RAILWAY_URL="https://dealix-production-XXXX.up.railway.app"
curl -X POST "$RAILWAY_URL/api/v1/checkout" \
-H "Content-Type: application/json" \
-d '{
"plan": "pilot_1sar",
"email": "sami.assiri11@gmail.com"
}'
```
**توقع:**
```json
{
"invoice_id": "inv_xxxx",
"status": "initiated",
"amount_sar": 1.0,
"payment_url": "https://invoice.moyasar.com/invoices/inv_xxxx",
"plan": "pilot_1sar"
}
```
### B) Pay 1 SAR
1. افتح `payment_url` في المتصفح
2. ادفع ببطاقتك الحقيقية (Visa/Mada — 1 ريال فقط)
3. **أو** استخدم بطاقة اختبار Moyasar:
- Card: `4111 1111 1111 1111`
- CVV: `123` | Expiry: `12/30` | OTP: `1234`
### C) Verify Round-Trip (من Terminal)
```bash
# 1. Check Moyasar dashboard → payment status = paid
# 2. Check Railway logs:
# Railway → Deployments → View Logs → look for "moyasar_webhook_processed"
```
### D) رد بـ:
```
PAID 1 SAR
MOYASAR STATUS: paid
WEBHOOK LOGGED: yes/no
```
---
## 🔵 PHASE 5 — MONITORING (15 دقيقة)
### A) UptimeRobot (5 دقائق)
1. افتح: https://uptimerobot.com (signup مجاني إذا ما عندك حساب)
2. Dashboard → **+ Add New Monitor**
3. املأ:
- **Monitor Type:** HTTP(s)
- **Friendly Name:** `Dealix Backend Health`
- **URL:** `https://<railway-url>/healthz`
- **Monitoring Interval:** 5 minutes
4. **Alert Contacts:** Email + SMS (رقم جوالك)
5. **Create Monitor**
6. Test: اضغط **Send Test Alert** على الـ contact
7. **رد:** `UPTIME MONITOR ACTIVE`
### B) Sentry (10 دقائق)
1. افتح: https://sentry.io → Project settings → **SDK Setup**
2. انسخ الـ DSN (يبدأ بـ `https://...@...ingest.sentry.io/...`)
3. **Railway → Variables:** بدّل `SENTRY_DSN=` بـ الـ DSN الحقيقي → Redeploy
4. افتح Sentry → **Settings → Integrations → Slack** → Install
5. Authorize → اختر channel `#dealix-alerts` (أو أنشئه)
6. **Alerts → Create Alert Rule:**
- When: Event level ≥ error
- Then: Send Slack notification
7. Test:
```bash
curl -H "X-Admin-Token: <ADMIN_TOKEN_من_Railway>" \
https://<railway-url>/_test_sentry
```
(يجب أن يرجع 500 error)
8. انتظر 60 ثانية — يجب أن يصل alert في Slack
9. **رد:** `SENTRY ALERT RECEIVED`
---
## 📋 PHASE 6 — Manual CRM (3 دقائق)
1. افتح Google Sheets جديد
2. اسم الـ sheet: `Dealix Pipeline — 2026`
3. الصق هذه الأعمدة:
```
Lead | Company | Segment | Source | LinkedIn | Email | Phone | Status | Last Touch | Next Touch | Demo Date | Plan | Expected Value | Payment Status | Notes
```
4. احفظ → شاركه مع نفسك (bookmark)
5. **رد:** `CRM SHEET READY`
---
## 🟣 PHASE 7 — First LinkedIn DM (20 دقيقة)
### A) Open LinkedIn + find Abdullah
1. افتح: https://linkedin.com
2. ابحث في الـ search bar: `Abdullah Al-Assiri Lucidya`
3. افتح profile الـ CEO
### B) Send This Exact Message (Arabic, ≤ 300 chars)
**إذا Connect + Note:**
```
السلام عليكم أستاذ عبدالله،
أنا سامي العسيري — مؤسس Dealix.
بنيت أول AI sales rep بالعربي الخليجي الحقيقي.
يرد على leads خلال 45 ثانية، يؤهّل BANT، يحجز demos.
Lucidya رائدة CXM — فريقك يستحق هذا الدعم.
عرض: pilot بـ 1 ريال × 7 أيام.
voxc2.github.io/dealix
تستحق 20 دقيقة demo؟
```
**إذا متصلين أصلاً (Direct DM):**
```
السلام عليكم أستاذ عبدالله،
أنا سامي العسيري من الرياض — مؤسس Dealix.
قرابة الاسم جعلتني أبدأ بك قبل أي أحد.
بنيت Dealix كأول AI sales rep بالعربي الخليجي الحقيقي — مش ترجمة.
يرد على leads خلال 45 ثانية، يؤهّل BANT، يحجز demos 24/7.
Lucidya تقود سوق CXM في المنطقة، وفريق BDR عندكم يستحق هذا المستوى من الأتمتة.
عرض خاص: Pilot بـ 1 ريال × 7 أيام (استرداد كامل لو ما أعجبك).
تستحق 20 دقيقة demo الأسبوع؟
الثلاثاء 10 ص أو الخميس 2 ظ؟
📅 https://calendly.com/sami-assiri11/dealix-demo
🌐 https://voxc2.github.io/dealix/
شاكر وقتك،
سامي
```
### C) Send → Log → Schedule Follow-ups
1. اضغط Send على LinkedIn
2. افتح CRM sheet → أضف صف:
- Lead: عبدالله العسيري
- Company: Lucidya
- Segment: SaaS Enterprise
- Source: LinkedIn — Surname affinity
- Status: DM Sent
- Last Touch: [تاريخ اليوم]
- Next Touch: [تاريخ +2 يوم]
3. أضف Calendar reminders:
- **+2 days:** Follow-up #1 (bump)
- **+5 days:** Follow-up #2 (value-add)
- **+10 days:** Follow-up #3 (breakup)
4. **رد:** `DM SENT`
### D) Follow-up Messages (جاهزين — ارسلهم حسب الجدول)
**+2 days (if no reply):**
```
أستاذ عبدالله،
رسالتي قبل يومين. أفترض الانشغال.
سؤال واحد: في Lucidya، كم متوسط زمن الرد الأولي على leads جديدة؟
أي إجابة تساعدني.
سامي
```
**+5 days:**
```
أستاذ عبدالله،
إحصائية Gartner 2025: 42% من B2B leads في السعودية تُفقد بسبب تأخر الرد.
في شركة بحجم Lucidya، كل lead ضائع = عشرات الآلاف سنوياً.
Dealix يحل هذا تحديداً — 45 ثانية، 24/7.
رابط الباقات: voxc2.github.io/dealix/pricing.html
سامي
```
**+10 days (final):**
```
أستاذ عبدالله،
آخر رسالة مني.
إذا تغيرت الظروف خلال السنة، رد على أي رسالة سابقة، سأعود في نفس اليوم.
بالتوفيق لـ Lucidya،
سامي
```
---
## 📊 Running Checklist
```
PHASE 0 — Security
[ ] GitHub token deleted
[ ] PostHog key rotated
PHASE 1 — Railway
[ ] Secrets generated
[ ] Start Command cleared
[ ] Env vars pasted
[ ] Deploy Active
[ ] URL captured: _______________
[ ] /healthz = 200
[ ] /api/v1/pricing/plans = 200
PHASE 2 — Moyasar
[ ] Moyasar secret_key rotated (if needed)
[ ] Railway var updated
[ ] Webhook added with URL + secret
[ ] Test event sent
PHASE 3 — 1 SAR Test
[ ] Checkout invoice created
[ ] Payment link opened
[ ] 1 SAR paid
[ ] Moyasar shows paid
[ ] Webhook logged in Railway
PHASE 5 — Monitoring
[ ] UptimeRobot monitor active
[ ] Test alert received
[ ] Sentry DSN in Railway
[ ] Sentry → Slack configured
[ ] Test error triggered
[ ] Slack alert received
PHASE 6 — CRM
[ ] Google Sheet created
[ ] Columns set
PHASE 7 — First DM
[ ] LinkedIn DM sent to Abdullah Al-Assiri
[ ] Logged in CRM
[ ] Calendar reminders set
```
---
## 🚨 إذا علقت في أي خطوة
أرسل لي:
1. **اسم الخطوة** (Phase X.Y)
2. **Screenshot من الـ error**
3. **الرسالة بالضبط**
أحلّها في دقائق.
---
## ✅ Definition of DONE
**LAUNCH READY** عند:
- Railway domain captured
- /healthz = 200 + /api/v1/pricing/plans = 200
**REVENUE READY** عند:
- إضافة Moyasar webhook + secret rotated + checkout يعمل
**REVENUE VERIFIED** عند:
- 1 SAR paid + webhook logged + Moyasar shows paid
**ACQUISITION STARTED** عند:
- DM مُرسل + CRM مُحدّث + Follow-ups مُجدولة
---
**الوقت الكلي: 90 دقيقة. ابدأ من Phase 0. أنا جاهز للـ smoke tests فور استلام Railway URL.**