Skip to content

Repository files navigation

EcoSys Core — Otonom Telegram Gelir Motoru

"Backend karar verir, Telegram render eder."
Sıfır bakım maliyetli, kendi kendini kopyalayan dijital varlık altyapısı.


🏗️ Sistem Mimarisi (3 Katmanlı Data Pipeline)

┌─────────────────────────────────────────────────────────┐
│  KATMAN 1 — Top of Funnel (Çekim)                       │
│  Ücretsiz SSS/Destek Botları → Lead Skoru Üretimi       │
│  Durum: cold_lead → warm_lead                           │
├─────────────────────────────────────────────────────────┤
│  KATMAN 2 — Middle of Funnel (Güven)                    │
│  Premium İçerik + Freemium Demo Erişimi                 │
│  Durum: warm_lead → hot_lead                            │
├─────────────────────────────────────────────────────────┤
│  KATMAN 3 — Bottom of Funnel (Gelir)                    │
│  Kurumsal Lisanslar + Stripe Webhook Entegrasyonu       │
│  Durum: hot_lead → premium                              │
└─────────────────────────────────────────────────────────┘

📁 Monorepo Yapısı

ecosys-core/
├── src/                          # Çekirdek sistem katmanları
│   ├── core/
│   │   ├── config.ts             # Zod ile tip-güvenli env yönetimi
│   │   ├── ruleEngine.ts         # Deterministik kural motoru (Rule Engine)
│   │   └── index.ts              # Core modül export'ları
│   ├── database/
│   │   ├── schema.ts             # Drizzle ORM + PostgreSQL şeması
│   │   └── index.ts              # DB bağlantı singletonı
│   ├── webhook/
│   │   └── router.ts             # Telegram event → kural değerlendirici
│   └── dashboard/
│       └── pages/
│           └── EcoSysDashboard.tsx   # Birleşik dashboard bileşeni
│
├── lib/
│   └── db/                       # @workspace/db paketi
│       ├── src/schema/index.ts   # Şema re-export'ları
│       └── drizzle.config.ts     # Migration yapılandırması
│
├── artifacts/
│   ├── api-server/               # Express API Sunucusu
│   │   └── src/
│   │       ├── app.ts
│   │       ├── lib/
│   │       │   ├── db.ts         # Drizzle bağlantısı
│   │       │   └── logger.ts     # Pino loglama
│   │       └── routes/
│   │           ├── index.ts      # Ana router
│   │           ├── health.ts     # GET /api/healthz
│   │           ├── webhook.ts    # POST /api/v1/webhook (Telegram + Stripe)
│   │           ├── users.ts      # GET/PATCH /api/v1/users (CRM)
│   │           └── rules.ts      # CRUD /api/v1/rules (Kural Motoru)
│   │
│   └── webhook-dashboard/        # React + Vite Dashboard
│       └── src/
│           ├── pages/Dashboard.tsx
│           └── components/
│               ├── SimulatorTab.tsx
│               ├── DatabaseTab.tsx
│               └── ArchitectureTab.tsx
│
├── scripts/
│   └── src/
│       └── seed.ts               # DB başlangıç verisi (kural matrisi + demo users)
│
└── archive/
    └── telegram_kurumsal_kontrol_paneli.legacy.tsx  # Arşivlenmiş eski prototip

🚀 Hızlı Başlangıç

1. Ortam Değişkenlerini Ayarla

cp .env.example .env
# .env dosyasını doldurun

2. Bağımlılıkları Yükle

pnpm install

3. Veritabanını Hazırla

# Şemayı DB'ye uygula
pnpm db:push

# Başlangıç verilerini yükle (kural matrisi + demo kullanıcılar)
pnpm db:seed

4. Geliştirme Sunucularını Başlat

# API Server (port 8080)
pnpm dev:api

# Dashboard (port 5173)
pnpm dev:dashboard

🔌 API Endpoint'leri

Method Endpoint Açıklama
GET /api/healthz Sistem sağlık kontrolü
POST /api/v1/webhook Telegram Bot güncellemeleri
POST /api/v1/webhook/stripe Stripe ödeme event'leri
GET /api/v1/users Kullanıcı listesi (sayfalı)
GET /api/v1/users/stats CRM özet istatistikleri
GET /api/v1/users/:id Tek kullanıcı profili
GET /api/v1/users/:id/journey Kullanıcı journey event'leri
PATCH /api/v1/users/:id Kullanıcı güncelle
GET /api/v1/rules Aktif kural listesi
POST /api/v1/rules Yeni kural oluştur
PATCH /api/v1/rules/:id Kural güncelle
DELETE /api/v1/rules/:id Kural sil
POST /api/v1/rules/test Kural motorunu test et

💰 Gelir Sütunları

Model Mekanizma Tetikleyici
VIP Kanal Üyeliği Stripe tekrarlayan ödeme r_payment_promote kuralı
Mikro-İşlem Botları Kredi sistemi (10 ücretsiz) r_credit_limit_upsell kuralı
B2B Kurumsal Lisans Demo → Enterprise funnel r_faq_cross_sell_b2b kuralı

🧠 Kural Motoru

Kural matrisi JSON formatında DB'de saklanır. Yeni bir bot davranışı sıfır kod ile devreye alınır:

{
  "ruleKey": "vip_30day_upsell",
  "name": "30 Günlük VIP Yenileme Teklifi",
  "priority": 7,
  "conditions": [
    { "field": "user.stage",    "operator": "eq",  "value": "hot_lead" },
    { "field": "user.faqCount", "operator": "gte", "value": 5 }
  ],
  "action": {
    "type": "cross_sell",
    "payload": {
      "message": "🎯 VIP paketimize geçin — ilk ay %30 indirimli!",
      "planOffer": "pro",
      "buttons": [{ "text": "Şimdi Geç", "callbackData": "buy_pro" }]
    }
  }
}

🔒 Güvenlik

  • Stripe webhook imzaları HMAC-SHA256 ile doğrulanır
  • Tüm ortam değişkenleri Zod ile tip güvenli olarak yüklenir
  • Eksik zorunlu değişkende sistem fail-fast davranır
  • Tüm webhook log'ları webhook_logs tablosuna yazılır (tam audit trail)

EcoSys Core — Tüm hakları saklıdır. Ticari yazılım.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages