furkanyigit34 0d908a1afe feat: add 9 new dashboard features with export and comparison
- Add Hidden Champions tab with filterable product table
- Add Opportunity Map tab with scatter chart (supply/demand quadrants)
- Add Sales Funnel section to Overview with conversion rates
- Add Price Distribution histogram with mean/median lines
- Add Competition Score gauge (0-100) with 4 sub-metrics
- Add Excel export (3-sheet xlsx) and Print buttons to dashboard
- Add Report Comparison page with KPI diff table and brand bar chart
- Add enrichment UI to ReportList with progress tracking
- Add sidebar navigation with Karşılaştır route
- Refactor UI: Layout, Sidebar, TopBar, KpiCard, SkeletonLoader components
- Improve drill-down UX with visible pill buttons and tooltips

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:33: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%