ארכיטקטורת המערכת
הנתונים זורמים מהדטהבייס דרך ה-CRM ועד לאתר החי ב-GitHub Pages. כל שלב מזין את הבא.
3 שלבי הפרסום
כל עדכון באתר עובר 3 שלבים. אם דילגת על שלב — השינוי לא יופיע באתר החי.
עדכון נתונים
עדכון מוצרים, תמונות, מחירים וקטגוריות בדטהבייס דרך ממשק ה-CRM Admin או ישירות.
crm-app/public/items/{id}.jpg
// הדטהבייס מצביע:
imageUrl = "/items/{id}.jpg"
פרסום (Publish)
מייצא מהדטהבייס → יוצר products.json → מייצר דפי HTML לכל מוצר → מייצר sitemap.
POST /api/admin/website/publish
// מייצר:
website/data/products.json
website/products/*.html
website/sitemap.xml
העלאה (Deploy)
מבצע git add + commit + push לריפו ב-GitHub. האתר מתעדכן תוך ~1 דקה.
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
תמונות AI
Gemini Nano Banana
2 מיקומי שמירה
ה-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/
תמונה חדשה צריכה להגיע לשתי התיקיות!
נתיבים וקבצים חשובים
סטטוס נוכחי
מצב התמונות והמוצרים נכון ל-7 מרץ 2026.
איך לעדכן את האתר
שתי דרכים — דרך ממשק הניהול או ידנית מהטרמינל.
🖥️ דרך ממשק הניהול
- כנס ל-app.ymarket.co.il/admin
- עדכן מוצרים בקטלוג (תמונות, מחירים, תיאורים, קטגוריות)
- לחץ "פרסם באתר" בעמוד הפרסום — מייצא products.json ומייצר דפי HTML
- לחץ "העלה לאתר" — מבצע git push ל-GitHub Pages
- המתן ~1 דקה — האתר מתעדכן אוטומטית
⌨️ ידנית מהטרמינל
- העתק תמונות ל-2 התיקיות (CRM + Website)
- הרץ סקריפט publish שמייצא מהדטהבייס
- עשה git push לתיקיית website
נקודות קריטיות לזכור:
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 מוצלח