Skip to content

Latest commit

 

History

History
195 lines (144 loc) · 14 KB

File metadata and controls

195 lines (144 loc) · 14 KB

ForexSignalBot: AI Destekli Telegram Forex Sinyalleri / Akıllı, Ücretsiz, Açık Kaynaklı Otomatik İletici Bot 📈🤖✨🚀

License GitHub Stars GitHub Forks GitHub Issues GitHub Closed Issues GitHub Pull Requests GitHub Closed Pull Requests Test Coverage Top Language .NET Version Last Commit Commit Activity Code Size Contributors GitHub Repo stars

🚀 Hemen Başlayın!

ForexSignalBot Demosu

🚀 Başlarken

Bu projeyi iki şekilde çalıştırabilirsiniz: Docker ile (hızlı kurulum için önerilir) veya manuel olarak yerel bir ortam kurarak.

Seçenek 1: Docker ile Hızlı Başlangıç (Önerilen)

Tüm uygulama yığınını—API, PostgreSQL veritabanı ve Redis önbelleği—Docker ile dakikalar içinde çalışır duruma getirin. Bu, başlamanın en hızlı ve en kolay yoludur.

Ön Gereksinimler

  • Docker Desktop: Sisteminizde kurulu ve çalışır durumda olduğundan emin olun. Buradan indirin.

Adım 1: Depoyu Klonlayın

Terminalinizi açın ve proje kaynak kodunu klonlayın.

git clone https://github.com/Opselon/ForexTradingBot.git
cd ForexTradingBot

Adım 2: Gizli Bilgilerinizi Yapılandırın

Uygulama, API anahtarları ve şifreler gerektirir. Bunun için özel tutulan bir .env dosyası kullanıyoruz.

  1. Ortam dosyasını oluşturun:

    cp .env.example .env
  2. .env dosyasını düzenleyin: Yeni .env dosyasını açın ve gerçek gizli değerlerinizi girin.

    • TELEGRAM_BOT_TOKEN: Bunu Telegram'daki @BotFather'dan alın.
    • POSTGRES_PASSWORD: Veritabanınız için güçlü ve güvenli bir şifre oluşturun.

Adım 3: Uygulamayı Çalıştırın! 🔥

Docker çalışırken, projenin kök dizininden tek bir komut yürütün:

docker-compose up --build -d

Bu komut, API, PostgreSQL ve Redis konteynerlerini oluşturur ve başlatır. API, başlangıçta veritabanı migrasyonlarını otomatik olarak uygulayacak şekilde yapılandırılmıştır.

Adım 4: Veritabanını Doldurun

Botun başlangıç için bir RSS besleme listesine ihtiyacı vardır. DBeaver veya DataGrip gibi bir istemci kullanarak veritabanına bağlanın ve Populate_RssSources_Categories.sql script'ini çalıştırın.

  • Host: localhost
  • Port: 5432
  • Veritabanı: forexsignalbot_db
  • Kullanıcı: postgres
  • Şifre: .env dosyasında belirlediğiniz POSTGRES_PASSWORD.

🎉 İşte bu kadar! Botunuz şimdi Docker içinde çalışıyor.


Seçenek 2: Yerel Geliştirme Ortamı Kurulumu (Docker Olmadan)

Uygulamayı doğrudan makinenizde çalıştırmayı tercih ediyorsanız bu adımları izleyin.

Ön Gereksinimler

  1. .NET 9 SDK:

  2. PostgreSQL Veritabanı:

    • Yerel bir PostgreSQL sunucusu kurun ve çalıştırın.
    • Bir veritabanı ve bir kullanıcı oluşturun.
    • appsettings.Development.json dosyasındaki bağlantı dizenizi (connection string) güncelleyin.
  3. Redis Sunucusu:

    • Redis, önbellekleme ve arka plan işlerinin işlenmesi için kullanılır.
    • Windows için: Memurai gibi Redis uyumlu bir sunucu kurun.
    • macOS/Linux için: Bir paket yöneticisi aracılığıyla kurun (örn. brew install redis veya sudo apt-get install redis-server).

Uygulamayı Yerel Olarak Çalıştırma

Uygulamayı doğrudan makinesinde çalıştırmayı tercih eden geliştiriciler için şu adımları izleyin:

  1. Depoyu klonlayın (eğer daha önce yapmadıysanız).
  2. appsettings.Development.json dosyasını yerel veritabanı bağlantı dizeniz ve diğer ayarlarla yapılandırın.
  3. Veritabanı migrasyonlarını uygulayın:
    dotnet ef database update --startup-project WebApi --project Infrastructure
  4. Veritabanını doldurun, Populate_RssSources_Categories.sql script'ini yerel veritabanınıza karşı çalıştırarak.
  5. API'yi çalıştırın:
    dotnet run --project WebApi

Daha kapsamlı ayrıntılar ve üretim ortamı dağıtım talimatları için lütfen özel INSTALL.md kılavuzuna başvurun.


🛠️ Geliştirici Kılavuzu

Bu bölüm, geliştirme için yaygın komutları içerir.

Veritabanı Migrasyonlarını Yönetme

Bu komutları çalıştırmadan önce, EF Core araçlarının kurulu olduğundan emin olun: dotnet tool install --global dotnet-ef

  • Yeni Bir Migrasyon Ekleme: Bir alan modelini değiştirdiğinizde, yeni bir migrasyon oluşturun.

    dotnet ef migrations add MigrasyonAdiniz --startup-project WebApi --project Infrastructure

    (MigrasyonAdiniz'i AddSignalStatus gibi açıklayıcı bir adla değiştirin)

  • Migrasyonları Uygulama: Veritabanı şemasını manuel olarak güncellemek için.

    dotnet ef database update --startup-project WebApi --project Infrastructure

Üretim Build'i Oluşturma

Uygulamayı dağıtım için kendi kendine yeten bir yürütülebilir dosyaya derlemek için:

# Kendi kendine yeten bir Windows x64 build'i için örnek
dotnet publish --configuration Release --runtime win-x64 --self-contained true --project WebApi
  • Çıktı, WebApi/bin/Release/net9.0/win-x64/publish klasöründe olacaktır.

Adım 4: Web Kurulum Sihirbazı ✨

Bu, yeni ve modernize edilmiş kurulum sürecidir.

  1. Web Panelini Açın: Tarayıcınızda http://localhost:5000/login.html adresine gidin.
  2. Giriş Yapın: Varsayılan kimlik bilgilerini kullanın:
    • Kullanıcı Adı: admin
    • Şifre: admin (Daha iyi güvenlik için web arayüzündeki ilk kurulum sürecinde bu hassas bilgileri değiştirmeniz istenecektir.)
  3. Rehberli Kurulum: İlk kez giriş yaptıktan sonra, otomatik olarak güvenli bir kurulum sayfasına (/indexapp.html) yönlendirileceksiniz.
    • Bu sayfada, Telegram Bot Token'ınızı ve diğer temel ayarları girmeniz istenecektir.
    • Sistem, kaydetmeden önce geçerli olduklarından emin olmak için kimlik bilgilerinizi canlı olarak test edecektir.
    • Kaydedildikten sonra, bu ayarlar düz metin dosyalarında değil, veritabanında güvenli bir şekilde saklanır.
  4. Veritabanını Doldurma: İlk kurulumdan sonra, veritabanını doldurmanız istenecektir. Web arayüzündeki "Seed Database" (Veritabanını Doldur) düğmesine tıklayın. Bu, başlangıç RSS besleme listesini ve diğer gerekli verileri dolduracaktır.

🎉 İşte bu kadar! Botunuz şimdi tamamen yapılandırılmış ve çalışıyor. Her şeyi web panelinden yönetebilirsiniz. alt text

🌟 Zamanla Yıldızlayanlar

Eğer bu proje size yardımcı oluyorsa, bir 🌟 vermeyi düşünebilirsiniz. Stargazers over time


🌍 Çok Dilli README Dosyaları 🌍

Projemizi dünya çapındaki kullanıcılara erişilebilir kılmak için birden çok dilde README dosyaları sunuyoruz. Aşağıdan tercih ettiğiniz dili seçin:

Dil Dil Kodu README Dosyası Durum
İngilizce 🇺🇸 EN README.md ✅ Tamamlandı
Rusça 🇷🇺 RU README_RU.md ✅ Tamamlandı
Farsça 🇮🇷 FA README_FA.md ✅ Tamamlandı
Çince 🇨🇳 ZH README_ZH.md ✅ Tamamlandı
İspanyolca 🇪🇸 ES README_ES.md ✅ Tamamlandı
Fransızca 🇫🇷 FR README_FR.md ✅ Tamamlandı
Almanca 🇩🇪 DE README_DE.md ✅ Tamamlandı
Türkçe 🇹🇷 TR README_TR.md ✅ Tamamlandı
Arapça 🇸🇦 AR README_AR.md ✅ Tamamlandı
Hintçe 🇮🇳 HI README_HI.md ✅ Tamamlandı
İtalyanca 🇮🇹 IT README_IT.md ✅ Tamamlandı
Portekizce 🇵🇹 PT README_PT.md ✅ Tamamlandı

Her README dosyası, projenin tam dokümantasyonunu, kurulum talimatlarını ve özelliklerini ilgili dile çevrilmiş olarak içerir. Tüm dosyalar en son proje bilgileriyle güncel tutulmaktadır.