Bu kılavuz, projeyi sıfırdan kurup test etmeniz için gereken tüm adımları içermektedir.
- Python 3.10+
- Git
- Postman (API testi için)
- (Opsiyonel) Telegram hesabı (bildirimleri almak için)
- Projeyi Klonlayın:
git clone https://github.com/senin-kullanici-adin/ReturnOptimizer.git cd ReturnOptimizer
- Sanal Ortam Kurun ve Aktif Edin:
python -m venv venv && source venv/bin/activate # Windows için: python -m venv venv && .\venv\Scripts\activate
- Kütüphaneleri Yükleyin:
pip install -r requirements.txt
-
Supabase Kurulumu (1 Dakika):
- Supabase.io'da yeni bir proje oluşturun.
- Proje içerisindeki SQL Editor'e gidin.
- Bu repodaki
supabase_setup.sql
dosyasının içeriğini kopyalayıp SQL Editor'e yapıştırın ve "RUN" butonuna basın. Veritabanınız, tablolarınız ve fonksiyonlarınız hazır. - Table Editor ->
users
tablosuna gidip+ Insert row
ile en az bir test kullanıcısı oluşturun.
-
n8n Kurulumu (2 Dakika):
- n8n.io/cloud üzerinden ücretsiz bir hesap oluşturun veya kendi sunucunuzda n8n'i başlatın.
- Yeni, boş bir iş akışı ("workflow") oluşturun.
- Bu repodaki
n8n_workflow.json
dosyasını bir metin editöründe açıp içeriğinin tamamını kopyalayın. - n8n'deki boş iş akışı tuvaline bu içeriği yapıştırın (
CTRL+V
veyaCMD+V
). Tüm iş akışı sihirli bir şekilde yüklenecektir.
-
.env
Dosyasını Oluşturun:- Proje ana dizininde
.env.example
dosyasını kopyalayıp adını.env
olarak değiştirin. - Aşağıdaki değerleri kendi bilgilerinizle doldurun:
OPENAI_API_KEY
: Kendi OpenAI API anahtarınız.SUPABASE_URL
veSUPABASE_KEY
: Supabase projenizin Ayarlar -> API bölümündeki bilgiler.n8n_webhook_url
: Aşağıdaki adımı tamamladıktan sonra burayı doldurun.
- Proje ana dizininde
-
n8n Kimlik Bilgilerini ve URL'yi Ayarlayın:
- n8n arayüzünde, az önce yüklediğiniz iş akışındaki
Supabase
,OpenAI Chat Model
veTelegram
nodlarına tıklayın. - Her birinin "Credentials" (Kimlik Bilgileri) bölümünde "Create New" diyerek kendi API anahtarlarınızı/bağlantılarınızı tanımlayın.
Webhook
noduna tıklayın. AyarlarındanPOST
metodunu seçtiğinizden emin olun.Production
URL'sini kopyalayın.- Kopyaladığınız bu Production URL'sini,
.env
dosyanızdakin8n_webhook_url
değişkeninin değeri olarak yapıştırın. - n8n iş akışını sağ üstten Active hale getirin.
- n8n arayüzünde, az önce yüklediğiniz iş akışındaki
- FastAPI Sunucusunu Başlatın:
uvicorn main:app --reload
- Postman ile Test Edin:
- Yeni bir
POST
isteği oluşturun:http://127.0.0.1:8000/classify
- Body -> raw -> JSON seçin ve aşağıdaki gibi bir veri gönderin. (
user_id
'yi kendi test kullanıcınızın ID'si ile değiştirmeyi unutmayın):
{ "user_id": "supabase-den-kopyaladigin-gercek-id", "product_id": "SUPER-CAMERA-X1", "message": "Bu kamera ikinci kez bozuk geliyor, lenste yine bir çizik var. Bu seride kesinlikle bir problem var." }
- Yeni bir
- Sonuçları İzleyin: FastAPI terminalindeki logları, Telegram'a düşen bildirimi ve Supabase
flags
tablosundaki yeni kaydı kontrol edin.