כל הפרויקטים

Aviv Bakery — פלטפורמת e-commerce לקונדיטוריה בעברית

פלטפורמת קונדיטוריה RTL מלאה — חנות ציבורית, זרימת עוגה מותאמת, ו-CMS אדמין בן 12 דפים.

המטרה

להחליף הזמנה דרך WhatsApp באתר RTL עברי מלא: קטלוג מוצרים, עגלה וצ'קאאוט, בקשות עוגות מותאמות, מתכונים, גלריה, בלוג, המלצות, לכידת לידים, ופאנל אדמין שבעלי העסק יכולים להפעיל בלי מפתח.

הפתרון

Monorepo עם client (Vue 3 + Vite + TS + Tailwind), server (Express + TS + Mongoose), ו-shared types, מחוברים ב-`npm run dev` יחיד. ה-backend חושף REST ל-11 מודלים עם JWT auth, העלאת תמונות דרך Multer, validation, שירות אימייל, ו-seed. ה-frontend מציג 14+ דפים ציבוריים + CMS אדמין בן 12 דפים עם RTL, Pinia ו-FAB של WhatsApp.

עיקרי הדברים

  • UX עברי RTL מלא על 14+ דפים ציבוריים ו-12 admin
  • פיתוח מקומי בפקודה אחת (client + server + Docker Mongo)
  • Types ב-shared/ שומרים על client ו-server מסונכרנים
  • CMS אדמין מלא מבטל תלויות במפתח

האתגר

להריץ client + server יחד עם שמירה על סנכרון types.

package.json ב-root עם install:all, seed ו-dev מקביל; shared/types.ts מיובא משני הצדדים.

הבעלים עורך מוצרים במובייל בעברית עם תמונות — input file נאיבי מסורבל.

Multer middleware עם מגבלות פר-route; דפי עריכה admin עם preview; קבצים ב-server/uploads (לא ב-git) מוגשים דרך ה-API.

MongoDB ריק = אתר שהבעלים לא יכול להעריך.

seed.ts (דרך npm run seed) טוען קטגוריות, מוצרים, מתכונים ומשתמש admin מ-.env — האתר מלא מהדקה הראשונה.

Routes ציבוריים ו-admin הסתכנו בדליפה דרך middleware משותף.

admin.ts נפרד עם auth middleware בכל endpoint, ו-AdminLayout נפרד עם route guards.

מה נמסר

  • client/ Frontend Vue 3 + Vite + TS + Tailwind (ציבורי + admin)
  • server/ Backend Express + TS + Mongoose (auth, uploads, אימייל)
  • shared/types.ts מקור אמת ל-types
  • docker-compose.yml ל-Mongo מקומי
  • seed.ts לתוכן ו-admin
  • CMS אדמין מלא (מוצרים, מתכונים, גלריה, בלוג, המלצות, משתמשים, הגדרות)
  • README עם 7-step local setup

תוצאות

14+

דפים ציבוריים

12

דפי אדמין

11

מודלים

Hebrew RTL

שפה ראשית

מה זה לימד אותי

  • תיקיית shared/ ל-types מנצחת העתקת interfaces בין חבילות
  • Seed scripts הם חובה — בעלי עסק מעריכים ויזואלית, לא דרך Swagger
  • Docker Mongo ב-docker-compose הסיר 'it works on my machine' מהיום הראשון