furkanyigit34 bc9af71d17 fix: move permission fix after category seeding in startup.sh
The chown was running before cp seeded categories from initial-categories,
so the copied files remained owned by root. Now permissions are fixed
after all file operations complete.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 01:44:08 +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%