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

13 KiB
Raw Blame History

🚀 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:

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 → الصق هذا (عدّل القيم):

# ── 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
  1. احفظ → Review changes → Deploy

  2. راقب Deployments tab:

    • انتظر Status = Active (24 دقائق)
    • إذا Failed: افتح Logs، ابعث screenshot لي
  3. رد بـ:

RAILWAY DEPLOYED
URL: https://dealix-production-XXXX.up.railway.app

C) Smoke Test (من طرفي فوراً بعد استلام URL)

سأشغّل:

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)

# استبدل <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"
  }'

توقع:

{
  "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)

# 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:
    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
  1. احفظ → شاركه مع نفسك (bookmark)
  2. رد: 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.