feat: Miller Columns kategori seçici + JSON tree tabanlı mimari

Ne yaptık:
- Sahibinden.com tarzı Miller Columns kategori seçici (CategorySelector.jsx)
- Trendyol API'den 3971 kategori ağacı çekildi (Playwright ile)
- Backend: JSON tree tabanlı kategori endpoint'leri (/api/category-tree/*)
- Backend: Rapor oluşturma artık DB kategorilerine bağımlı değil
- Report tablosundaki category_id FK constraint kaldırıldı
- Dockerfile'a trendyol_category_tree.json eklendi

Neden yaptık:
- DB'deki kategori tablosu boştu, Trendyol API ID'leri ile Excel ID'leri farklıydı
- Playwright ile Trendyol'un kendi kategori ağacını çektik (3971 kategori, gerçek API ID'leri)
- Miller Columns ile kullanıcı adım adım derinleşerek kategori seçebiliyor
- Arama özelliği ile kelime bazlı kategori bulma da mümkün

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
furkanyigit34
2026-03-29 02:24:22 +03:00
parent 6aa4ec5eb0
commit 1c10a701cf
224 changed files with 3176073 additions and 2376775 deletions

View File

@@ -29,6 +29,9 @@ COPY backend/ .
# Copy categories data (bundled into image for Coolify deployment)
COPY categories/ /data/initial-categories/
# Copy category tree JSON (Trendyol API category mapping)
COPY trendyol_category_tree.json /data/trendyol_category_tree.json
# Create data directories with proper permissions
RUN mkdir -p /data/categories /data/reports /data/logs && \
chmod -R 755 /data
@@ -51,7 +54,8 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=5 \
ENV PYTHONUNBUFFERED=1 \
DATABASE_URL=postgresql://postgres:trendyol123@postgres:5432/trendyol_db \
CATEGORIES_DIR=/data/categories \
REPORTS_DIR=/data/reports
REPORTS_DIR=/data/reports \
CATEGORY_TREE_PATH=/data/trendyol_category_tree.json
# Start with migration script
CMD ["./startup.sh"]