mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2026-06-17 23:09:35 +00:00
440 lines
13 KiB
Markdown
440 lines
13 KiB
Markdown
# 🚀 Dealix — حزمة الإطلاق النهائية (نفّذ هذه الآن)
|
||
|
||
**هدف الجلسة:** من Partially Ready → REVENUE VERIFIED خلال 90 دقيقة.
|
||
**ترتيب التنفيذ:** من أعلى لأسفل — لا تتجاوز خطوة.
|
||
|
||
---
|
||
|
||
## ⏰ الجدول الزمني (90 دقيقة)
|
||
|
||
| الوقت | الخطوة | المدة |
|
||
|-------|---------|--------|
|
||
| 0–5 دقائق | Security (Phase 0) | 5 |
|
||
| 5–25 دقيقة | Railway deploy (Phase 1) | 20 |
|
||
| 25–40 دقيقة | Moyasar setup (Phase 2) | 15 |
|
||
| 40–55 دقيقة | 1 SAR test (Phase 3) | 15 |
|
||
| 55–70 دقيقة | UptimeRobot + Sentry (Phase 5) | 15 |
|
||
| 70–90 دقيقة | 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` (2–4 دقائق)
|
||
- إذا `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.**
|