תוכנית הקמה מינימלית וניתנת להרחבה

המלצה סופית להתחלה

החלטה שלי בשבילך

להתחיל עם תשתית נקייה, מינימלית ומהירה: שרת VPS אחד בלבד שמריץ את ה־Frontend, ה־API וה־Database. לא מעבירים את הנתונים הקיימים. מתחילים מדף חלק עם Owner ראשון, משחקים והגדרות בסיסיות.

הטכנולוגיות: Ubuntu 24.04, Docker Compose, Caddy, Node.js 22, Fastify, PostgreSQL 16, Prisma, JWT, bcrypt.

למה זו הדרך הכי טובה להתחלה

מבנה התחלתי

חלקבחירהתפקיד
שרתVPS אחד, 2 vCPU, 4GB RAM, 80GB SSDמריץ הכל בהתחלה
מערכת הפעלהUbuntu 24.04 LTSבסיס יציב לשרת
ניהול שירותיםDocker Composeמריץ API, DB ו־Caddy בצורה מסודרת
HTTPS / ProxyCaddySSL אוטומטי וניתוב לאפליקציה ול־API
BackendNode.js 22 + Fastifyשרת API מהיר ופשוט
DatabasePostgreSQL 16שומר שחקנים, קרדיטים, ספינים ודוחות
ORMPrismaניהול טבלאות ושינויים בצורה מסודרת
AuthJWT + bcryptLogin והרשאות בלי תלות חיצונית
FrontendReact/Vite הקייםמשאירים את האפליקציה והמשחקים, מחליפים רק שכבת נתונים

מה מקימים בפועל — לפי סדר

  1. רוכשים או משתמשים בדומיין קיים.
  2. מקימים VPS אחד אצל Hetzner או DigitalOcean.
  3. מתקינים Ubuntu 24.04.
  4. מאבטחים SSH עם מפתח בלבד.
  5. פותחים Firewall רק ל־22, 80, 443.
  6. מתקינים Docker ו־Docker Compose.
  7. יוצרים Docker Compose עם שלושה שירותים: API, PostgreSQL, Caddy.
  8. מגדירים Caddy עבור app.yourdomain.com ו־api.yourdomain.com.
  9. בונים API בסיסי עם Fastify ו־endpoint /v1/health.
  10. מחברים PostgreSQL ו־Prisma.
  11. יוצרים migrations לטבלאות הבסיס.
  12. מכניסים Seed נקי: Owner ראשון, 12 משחקים והגדרות מערכת.
  13. בונים Login לשחקן ו־Admin עם JWT.
  14. בונים Players API.
  15. בונים Admins API.
  16. בונים GameConfig API.
  17. בונים Credit API עם transactions מלאים.
  18. בונים Spins API.
  19. בונים Transactions ו־Reports API.
  20. מחברים את האפליקציה הקיימת ל־API החדש.
  21. בודקים Login, יצירת שחקן, טעינת קרדיטים, Spin, Bonus, Redeem ודוחות.
  22. מעלים Production נקי.

הטבלאות שצריך בהתחלה

החלק הכי חשוב: קרדיטים

כל שינוי קרדיטים חייב לקרות רק בשרת, בתוך database transaction. זה כולל טעינת שחקן, מימון Admin, Redeem, הורדת הימור ועדכון זכייה.

ה־Frontend לא משנה קרדיטים ישירות. הוא רק מבקש מה־API לבצע פעולה, והשרת מחליט אם מותר ומעדכן את כל הטבלאות יחד.

נתיב Scale Up עתידי

  1. שלב גדילה ראשון: להעביר PostgreSQL ל־Managed Database. משנים רק DATABASE_URL.
  2. שלב גדילה שני: להעביר את ה־Frontend ל־Cloudflare Pages או CDN.
  3. שלב גדילה שלישי: להריץ כמה שרתי API מאחורי Load Balancer.
  4. שלב גדילה רביעי: להוסיף Redis/cache לדוחות אם יש עומס.

בהתחלה לא עושים את כל זה. רק מתכננים את הקוד נכון כדי שהמעבר יהיה אפשרי.

סיכום סופי

מתחילים עם: VPS אחד + Docker Compose + Caddy + Node/Fastify + PostgreSQL + Prisma.

הגישה: דף חלק, בלי העברת נתונים קיימים, עם מערכת נקייה שאפשר להגדיל בעתיד.