furkanyigit34 4c6320f710 security: auth hatasi 401 yerine 404 don
Ne yaptik:
- verify_api_key: HTTPException 401 -> 404, detail 'Not Found'

Neden yaptik:
- API key'siz erisimde JSON hata mesaji gorunuyordu
- 404 ile endpoint yokmus gibi gozukur, domain ifsa olmaz
2026-05-18 12:37:07 +03:00

Trendyol Product Dashboard

Trendyol e-ticaret platformu için kategori bazlı ürün analiz sistemi. 7 tab'lı interaktif dashboard, otomatik rapor oluşturma ve detaylı metrikler sunar.

Özellikler

Tab ıklama
Genel Bakış KPI kartları, özet grafikler, temel metrikler
Marka Marka analizi, pazar payı dağılımı
Kategori Kategori bazlı ürün dağılımı
Menşei Ülke bazlı ürün analizi
Barkod Barkod veri analizi ve dağılımı
Keyword Aracı Anahtar kelime trend analizi
Ürün Bulma Gelişmiş ürün arama ve filtreleme

Teknoloji Stack

Katman Teknoloji
Frontend React 19.2.0, Vite 7.2.2, Tailwind CSS 4.1.17, Recharts 3.4.1
Backend FastAPI 0.104.1, SQLAlchemy 2.0.45, Uvicorn 0.24.0
Database SQLite
HTTP Client Axios 1.13.2

Hızlı Başlangıç

Otomatik Başlatma (Önerilen)

python3 start.py

Bu script otomatik olarak:

  • Dependency'leri kontrol eder
  • Port çakışmalarını çözer
  • Backend ve frontend'i başlatır

Manuel Başlatma

Terminal 1 - Backend:

cd backend
pip install -r requirements.txt
python3 main.py

Terminal 2 - Frontend:

cd admin-panel
npm install
npm run dev

Erişim URL'leri

Proje Yapısı

product_Dashboard/
├── backend/                     # FastAPI Backend
│   ├── main.py                  # Ana API (~4400 satır, 30+ endpoint)
│   ├── database.py              # SQLAlchemy modelleri
│   ├── scraper.py               # Trendyol veri çekme
│   └── requirements.txt         # Python dependencies
│
├── admin-panel/                 # React Frontend
│   └── src/
│       ├── components/
│       │   ├── CategoryManagement.jsx    # Kategori yönetimi
│       │   ├── ReportGeneration.jsx      # Rapor oluşturma
│       │   ├── ReportList.jsx            # Rapor listesi
│       │   ├── ReportDashboard.jsx       # 7-tab dashboard
│       │   └── dashboard-tabs/           # Tab componentleri
│       ├── config/api.js                 # API konfigürasyonu
│       └── constants/tabGroups.js        # Tab yapılandırması
│
├── categories/                  # Kategori JSON dosyaları (1842 adet)
├── reports/                     # Oluşturulan raporlar
├── docs/                        # Dokümantasyon
│   ├── ARCHITECTURE.md          # Sistem mimarisi (Türkçe)
│   ├── API_DOCUMENTATION.md     # API referansı
│   ├── SETUP_GUIDE.md           # Kurulum kılavuzu
│   └── DASHBOARD_ARCHITECTURE.md # Dashboard geliştirme rehberi
│
├── start.py                     # Otomatik başlatma scripti
├── CLAUDE.md                    # Claude Code rehberi
└── README.md                    # Bu dosya

Docker ile Çalıştırma

# Build
docker-compose build

# Başlat
docker-compose up -d

# Durdur
docker-compose down

Docker Erişim:

API Özeti

Endpoint Metod ıklama
/categories/main GET Ana kategoriler
/categories/{id}/subcategories GET Alt kategoriler
/api/reports GET Rapor listesi
/api/reports/create POST Rapor oluştur
/api/reports/progress/{task_id} GET İlerleme durumu
/api/dashboard/{report_id} GET Dashboard verisi

Konfigürasyon

API Timeout Değerleri

Tip Süre Kullanım
STANDARD 30s Genel istekler
DASHBOARD 180s Dashboard yükleme
ENRICHMENT 120s Sosyal kanıt verisi
KEYWORD_ANALYSIS 300s Keyword analizi

Kaynak Limitleri

Kaynak Limit
Cache 100 item, 1 saat TTL
Frontend pagination 150 item/sayfa
Backend pagination 200 item/sayfa
Rate limit 2 istek/saniye

Sorun Giderme

Port Çakışması

# Otomatik çözüm
python3 start.py

# Manuel çözüm
lsof -ti:8001 | xargs kill -9
lsof -ti:5173 | xargs kill -9

CORS Hatası

backend/main.py dosyasında frontend portunu CORS listesine ekleyin:

allow_origins=["http://localhost:5173", "http://localhost:5174", ...]

Database Sıfırlama

cd backend
python3 -c "from database import init_db; init_db()"

Dokümantasyon

Dosya ıklama
docs/ARCHITECTURE.md Sistem mimarisi (Türkçe)
docs/API_DOCUMENTATION.md API referansı
docs/SETUP_GUIDE.md Kurulum kılavuzu
docs/DASHBOARD_ARCHITECTURE.md Dashboard geliştirme
CLAUDE.md Claude Code rehberi

Gereksinimler

  • Python 3.8+
  • Node.js 18+
  • npm 9+

Versiyon: 2.1.0 | Son Güncelleme: Ocak 2025

Description
CiroMarket Trendyol analiz aracı — GitHub mirror
Readme 86 MiB
Languages
JavaScript 51.8%
Python 46.5%
Shell 0.8%
Dockerfile 0.5%
CSS 0.2%