א'-ה' 08:00-17:00
מדריך טכני פנימי

מערכת פרסום הקטלוג

איך עובד הזרימה מהדטהבייס עד לאתר החי — תמונות, נתונים, ופרסום.

ארכיטקטורת המערכת

הנתונים זורמים מהדטהבייס דרך ה-CRM ועד לאתר החי ב-GitHub Pages. כל שלב מזין את הבא.

🗄️
PostgreSQL
Prisma ORM
items, categories
⚙️
CRM Admin
app.ymarket.co.il
Next.js + Cloudflare
🔌
Publish API
/api/admin/website/
publish → deploy
📁
קבצי האתר
ymarket/website/
HTML, JSON, images
🌐
GitHub Pages
ymarket.co.il
yunagler/ymarket-catalog

3 שלבי הפרסום

כל עדכון באתר עובר 3 שלבים. אם דילגת על שלב — השינוי לא יופיע באתר החי.

1

עדכון נתונים

עדכון מוצרים, תמונות, מחירים וקטגוריות בדטהבייס דרך ממשק ה-CRM Admin או ישירות.

// תמונות נשמרות בתיקייה:
crm-app/public/items/{id}.jpg
// הדטהבייס מצביע:
imageUrl = "/items/{id}.jpg"
2

פרסום (Publish)

מייצא מהדטהבייס → יוצר products.json → מייצר דפי HTML לכל מוצר → מייצר sitemap.

// API endpoint:
POST /api/admin/website/publish
// מייצר:
website/data/products.json
website/products/*.html
website/sitemap.xml
3

העלאה (Deploy)

מבצע git add + commit + push לריפו ב-GitHub. האתר מתעדכן תוך ~1 דקה.

// API endpoint:
POST /api/admin/website/deploy
// מריץ:
git add -A
git commit -m "Update catalog"
git push → GitHub Pages
⚠️

חשוב! שלב 2 (Publish) מייצא רק מוצרים שסומנו b2cVisible = true בדטהבייס. מוצר שלא מסומן לא יופיע באתר גם אם יש לו תמונה. בנוסף — תמונות צריכות להיות גם בתיקיית website/items/ ולא רק ב-crm-app/public/items/! הן 2 תיקיות נפרדות.

זרימת התמונות

התמונות מגיעות מ-2 מקורות, נשמרות ב-2 מיקומים, ומגיעות לאתר דרך git push.

📸

תמונות מקוריות

הורדו מ-ymarket.shop

519 תמונות
shop-originals/{id}.jpg
🤖

תמונות AI

Gemini Nano Banana

295 תמונות
{category}/{id}_name.jpg
💾

2 מיקומי שמירה

CRM (פורטל):
crm-app/public/items/{id}.jpg
אתר (GitHub Pages):
website/items/{id}.jpg
1,114 סה"כ
💡

ה-CRM (app.ymarket.co.il) וה-Website (ymarket.co.il) הם 2 מערכות נפרדות!
CRM = Next.js על localhost:3000 + Cloudflare Tunnel → מגיש תמונות מ-crm-app/public/items/
Website = GitHub Pages סטטי → מגיש תמונות מ-website/items/
תמונה חדשה צריכה להגיע לשתי התיקיות!

נתיבים וקבצים חשובים

📂 תיקיית CRM
C:\Users\DELL\ymarket\crm-app
📂 תיקיית האתר
C:\Users\DELL\ymarket\website
🖼️ תמונות CRM
crm-app/public/items/{id}.jpg
🖼️ תמונות אתר
website/items/{id}.jpg
📊 נתוני קטלוג
website/data/products.json
📄 דפי מוצר
website/products/{slug}.html
🔌 API פרסום
/api/admin/website/publish (POST)
🚀 API העלאה
/api/admin/website/deploy (POST)
🐙 GitHub Repo
github.com/yunagler/ymarket-catalog (branch: master)
🏗️ בילד דפים
website/build/generate-products.js

סטטוס נוכחי

מצב התמונות והמוצרים נכון ל-7 מרץ 2026.

1,114
סה"כ מוצרים בדטהבייס
813
מוצגים באתר (b2cVisible)
519
תמונות מקוריות (צילום)
295
תמונות AI (Gemini)
294
חסרות — צריך לצלם ❗
14 קטגוריות פעילות
בטיחות ומיגון כלי עבודה שקיות אשפה חומרי ניקוי אריזות מזון טקסטיל חד פעמי אריזה ולוגיסטיקה מוצרי נייר קפה ושתייה ציוד משרדי אחזקה טכנית עזרה ראשונה טואלטיקה

איך לעדכן את האתר

שתי דרכים — דרך ממשק הניהול או ידנית מהטרמינל.

🖥️ דרך ממשק הניהול

הדרך הקלה — הכל מהדפדפן
  1. כנס ל-app.ymarket.co.il/admin
  2. עדכן מוצרים בקטלוג (תמונות, מחירים, תיאורים, קטגוריות)
  3. לחץ "פרסם באתר" בעמוד הפרסום — מייצא products.json ומייצר דפי HTML
  4. לחץ "העלה לאתר" — מבצע git push ל-GitHub Pages
  5. המתן ~1 דקה — האתר מתעדכן אוטומטית

⌨️ ידנית מהטרמינל

לשליטה מלאה ותיקון תקלות
  1. העתק תמונות ל-2 התיקיות (CRM + Website)
  2. הרץ סקריפט publish שמייצא מהדטהבייס
  3. עשה git push לתיקיית website
# 1. העתק תמונות cp items/*.jpg crm-app/public/items/ cp items/*.jpg website/items/ # 2. פרסום (ייצוא + בילד) node publish_website.js # 3. העלאה ידנית cd C:/Users/DELL/ymarket/website git add -A git commit -m "Update catalog" git push
🔑

נקודות קריטיות לזכור:
1. תמונות חייבות להיות בשתי התיקיות — crm-app/public/items/ וגם website/items/
2. אחרי publish חייבים לעשות deploy (git push) — אחרת השינויים רק מקומיים
3. מוצר צריך להיות b2cVisible = true כדי להופיע באתר
4. catalog.html טוען את data/products.json — אם הקובץ ישן, הקטלוג ישן
5. GitHub Pages מתעדכן תוך ~60 שניות אחרי push מוצלח