mirror of
https://github.com/nethunterzist/trendyol-analiz
synced 2026-06-30 17:17:02 +00:00
main
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
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 | Açı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
- Frontend: http://localhost:5173
- Backend API: http://127.0.0.1:8001
- API Docs: http://127.0.0.1:8001/docs
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:
- Frontend: http://localhost:8080
- Backend: http://localhost:8001
API Özeti
| Endpoint | Metod | Açı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 | Açı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
Languages
JavaScript
51.8%
Python
46.5%
Shell
0.8%
Dockerfile
0.5%
CSS
0.2%