Files
trendyol-analiz/README.md
furkanyigit34 c7be57064b Initial commit: Trendyol Analiz platform
- FastAPI backend with Python
- React + Vite admin panel
- PostgreSQL database
- Trendyol marketplace analytics
- GitHub Actions CI/CD workflow

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 00:14:38 +03:00

186 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)
```bash
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:**
```bash
cd backend
pip install -r requirements.txt
python3 main.py
```
**Terminal 2 - Frontend:**
```bash
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
```bash
# 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ı
```bash
# 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:
```python
allow_origins=["http://localhost:5173", "http://localhost:5174", ...]
```
### Database Sıfırlama
```bash
cd backend
python3 -c "from database import init_db; init_db()"
```
## Dokümantasyon
| Dosya | Açıklama |
|-------|----------|
| [docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md) | Sistem mimarisi (Türkçe) |
| [docs/API_DOCUMENTATION.md](./docs/API_DOCUMENTATION.md) | API referansı |
| [docs/SETUP_GUIDE.md](./docs/SETUP_GUIDE.md) | Kurulum kılavuzu |
| [docs/DASHBOARD_ARCHITECTURE.md](./docs/DASHBOARD_ARCHITECTURE.md) | Dashboard geliştirme |
| [CLAUDE.md](./CLAUDE.md) | Claude Code rehberi |
## Gereksinimler
- Python 3.8+
- Node.js 18+
- npm 9+
---
**Versiyon:** 2.1.0 | **Son Güncelleme:** Ocak 2025