🙏
מערכת תפילות
אפיון לג'וניוריות — גרסה 1.0
📅 יוני 2026
🌐 Web + iOS + Android
🐍 Python FastAPI
📱 Expo Router
💳 Stripe
🌍 6 שפות
מערכת תפילות היא פלטפורמה דיגיטלית שמאפשרת לכל אדם — בכל מקום בעולם — למצוא תפילה מתאימה למצבו, לשלוח את שמו לתפילה, ולתרום בקלות ובמינימום פעולות.
הרעיון בשורה אחת: אדם מחפש בגוגל "תפילה לפני מבחן" — מגיע לאתר שלנו, קורא את התפילה, לוחץ 2 פעמים — ותרומה נשלחת. הכל בפחות מ-60 שניות.
המערכת מורכבת משלושה חלקים
| חלק | מה הוא עושה | מי משתמש |
| 🌐 אתר Web |
מציג תפילות בכל שפה, ממוטב לגוגל (SEO), כולל כפתורי תרומה |
כל גולש שמגיע מגוגל |
| 📱 אפליקציה |
iOS + Android — כפתורי תרומה מהירים, תרומה בלחיצה אחת עם כרטיס שמור |
משתמשים חוזרים |
| 🐍 Backend API |
שרת Python שמנהל תפילות, משתמשים, תשלומים, ואימות |
פנימי — שרת בלבד |
🔍
כיסוי SEO מקסימלי
כל מי שמחפש בגוגל כל תפילה שהיא — בכל שפה — יגיע לאתר שלנו. זה ערוץ הגיוס העיקרי.
💳
מינימום חיכוך לתרומה
מרגע כניסה לאתר — מקסימום 2 קליקים עד תרומה. כל קליק נוסף = פחות תרומות.
⚡
תרומה מהירה לפי אירוע
לפני מבחן / טיסה / ניתוח — כפתור אחד שולח שם לתפילה ומחייב כרטיס שמור אוטומטית.
🌍
קהל יהודי עולמי
6 שפות, מטבע לפי מיקום, ממשק מותאם לכל תרבות — RTL לעברית וערבית, LTR לשאר.
הגדרת הצלחה: משתמש שמחפש "תפילה לרפואה" בגוגל מגיע לאתר, קורא את התפילה, ותורם ₪72 — הכל בפחות מ-3 דקות, מבלי להירשם.
הגדרה חשובה: החרדים לא מחפשים תפילות בגוגל — יש להם סידור. הקהל שלנו הוא היהודי המסורתי-חילוני שרוצה שמישהו יתפלל בשבילו ומוכן לשלם על זה.
| סגמנט | מיהו | מה הוא מחפש | שפה |
| 🇮🇱 ישראלי מסורתי |
לא דתי אבל מאמין, מחפש תפילות לפי מצב |
"תפילה לרפואה", "תפילה להצלחה במבחן" |
עברית |
| 🇫🇷 דיאספורה צרפת |
יהודי צרפתי, קשר לישראל, מחפש בצרפתית |
"prière pour la guérison" |
צרפתית / עברית |
| 🇺🇸 דיאספורה ארה"ב |
Reform / Conservative, אנגלית |
"prayer for healing", "prayer for success" |
אנגלית |
| 🇦🇷 דיאספורה ארגנטינה |
קהילה ספרדית גדולה |
"oración para la curación" |
ספרדית |
| 🇷🇺 עולים מרוסיה |
דור שני-שלישי בישראל/ארה"ב |
"молитва за здоровье" |
רוסית / עברית |
4
סיפורי משתמש (User Stories)
אלה הסיפורים שצריך שהמערכת תממש. כל feature שתבנו צריך לשרת לפחות אחד מהם.
👩 שרה, ישראלית, 42
חיפשה בגוגל "תפילה לרפואה שלמה" לפני ניתוח של אמא שלה. מצאה את האתר, קראה את התפילה, שלחה את שם האמא לתפילה ותרמה ₪72 — בלי הרשמה, בלי סיסמה.
→ מממש: דף SEO לכל תפילה + זרימת תרומה אנונימית
👨 דוד, סטודנט, 22
הוריד את האפליקציה אחרי ביקור ראשון באתר. שמר כרטיס. עכשיו לפני כל מבחן לוחץ על "יש לי מבחן" — תרומה של ₪72 יוצאת אוטומטית תוך 5 שניות.
→ מממש: Quick Buttons + כרטיס שמור + Stripe charge
👩💼 ז'קלין, פריז, 55
מחפשת "prière pour mon fils" בגוגל. מגיעה לאתר בצרפתית, קוראת את התפילה בצרפתית, תורמת €18. הכל בצרפתית.
→ מממש: i18n + זיהוי שפה אוטומטי + מטבע לפי מיקום
👦 מייקל, ניו-יורק, 35
מגיע לאתר בנייד דרך גוגל, מתרגש, לוחץ "Download App". מגיע לApp Store, מוריד, נרשם עם Google, שומר כרטיס. מעכשיו מקישור ישיר לאפליקציה.
→ מממש: App Download Banner + Firebase Google Auth
5
עקרונות מוצר — חוקים שאסור לשבור
| # | עיקרון | המשמעות המעשית |
| 1 |
⚡ 2 קליקים לתרומה |
מרגע כניסה לדף תפילה — מקסימום 2 קליקים עד תרומה מאושרת. כל עיצוב שמוסיף קליק — נדחה. |
| 2 |
🔍 SEO First |
כל עמוד תפילה = דף HTML מלא עם כותרת, תיאור, ומילות מפתח. גוגל צריך לאנדקס כל תפילה. |
| 3 |
🔒 אף פעם לא שומרים כרטיס |
רק טוקן מוצפן מ-Stripe + 4 ספרות אחרונות. מספר כרטיס מלא לא נוגע לשרת שלנו. |
| 4 |
🌍 כל שפה = חוויה מלאה |
ממשק, תפילות, ודיווחי שגיאות — הכל בשפת המשתמש. לא מקובל "חלקית בעברית". |
| 5 |
📶 עובד offline |
תפילות שנצפו בעבר זמינות גם ללא אינטרנט (cache מקומי באפליקציה). |
| 6 |
👻 אנונימי לגיטימי |
תרומה ללא הרשמה = לגיטימי לחלוטין. לא לכפות רישום. |
6
טכנולוגיות — למה בחרנו מה שבחרנו
Frontend + Web + Mobile — Expo Router
עיקרון מרכזי: קוד אחד → iOS + Android + Web. שתיכן כותבות TypeScript אחד ומקבלות את שלושתם.
Expo Router v3ניהול דפים — כמו next.js
TypeScriptשפת הפרויקט
NativeWindעיצוב — Tailwind למובייל
i18nextריבוי שפות
Zustandניהול state
Firebase SDKAuth בצד הלקוח
Stripe SDKתשלומים בצד הלקוח
Backend — Python + FastAPI
FastAPIשרת REST API
SQLAlchemyORM למסד נתונים
Pydantic v2Validation של נתונים
Alembicשינויים בDB
PostgreSQLמסד נתונים
Firebase Adminבדיקת tokens
Stripe SDKתשלומים בצד השרת
שירותי צד שלישי
| שירות | למה | תוכנית |
| Firebase Auth | Google / Apple / SMS / Anonymous login | Spark (חינם) |
| Stripe | תשלומים — ישראל + בינ"ל, כרטיסים שמורים | Pay-as-you-go (~2.9%) |
| Sanity.io | CMS — ניהול תפילות ותוכן | Free tier |
| Vercel | Deploy לWeb | Free tier |
| EAS Build (Expo) | Build לApp Store + Google Play | Free tier |
| ipapi.co | זיהוי מדינה לפי IP (למטבע) | Free (1,000/day) |
7
מסד הנתונים — מה שומרים ולמה
חשוב לדעת: כל הטבלאות נמצאות בPostgreSQL. הגישה אליהן דרך SQLAlchemy בלבד — לא כותבים SQL ידני.
טבלת תפילות — Prayer
| שדה | סוג | למה |
id | UUID | מזהה ייחודי |
slug | TEXT יחודי | ה-URL: /prayer/health |
title_he, title_en, title_fr... | TEXT | כותרת בכל שפה |
body_he, body_en, body_fr... | TEXT | טקסט תפילה מלא בכל שפה |
seo_keywords_he, seo_keywords_en | TEXT[] | מילות מפתח לגוגל |
seo_description_he, seo_description_en | TEXT | תיאור לגוגל (150 תווים) |
category_id | FK → Category | שייכות לקטגוריה |
view_count | INTEGER | כמה פעמים נצפה |
is_active | BOOLEAN | להסתיר תפילה בלי למחוק |
טבלת משתמשים — User
| שדה | סוג | למה |
id | UUID | מזהה פנימי |
firebase_uid | TEXT יחודי | מזהה מFirebase Auth |
email | TEXT מוצפן | לקבלות ותקשורת |
display_name | TEXT | שם לתצוגה |
preferred_lang | ENUM | he / en / fr / ru / es / ar |
preferred_currency | ENUM | ILS / USD / EUR / GBP / ARS |
stripe_customer_id | TEXT | מזהה הלקוח בStripe (לכרטיס שמור) |
saved_card_last4 | TEXT | 4 ספרות — להצגה בלבד, לא לשימוש! |
saved_card_brand | TEXT | VISA / Mastercard |
has_saved_card | BOOLEAN | האם יש כרטיס שמור |
is_anonymous | BOOLEAN | Firebase Anonymous user |
טבלת תרומות — Donation
| שדה | סוג | למה |
id | UUID | |
user_id | FK → User (nullable) | NULL = תרומה אנונימית |
prayer_id | FK → Prayer | איזו תפילה |
quick_button_id | FK → QuickButton (nullable) | NULL = תרומה ידנית |
amount | INTEGER | באגורות/סנטים — 7200 = ₪72 |
currency | TEXT | ILS / USD / EUR... |
stripe_payment_intent_id | TEXT | לבדיקת סטטוס מול Stripe |
status | ENUM | pending / success / failed / refunded |
donor_name | TEXT | שם לתפילה |
receipt_email | TEXT | לשליחת קבלה |
created_at | TIMESTAMP | |
טבלת כפתורי מהיר — QuickButton
| שדה | ערך לדוגמה | למה |
slug | exam | מזהה ייחודי |
label_he | יש לי מבחן | תווית בעברית |
label_en | I have an exam | תווית באנגלית |
prayer_id | FK → Prayer | איזו תפילה תישלח |
default_amount_ils | 7200 | סכום ברירת מחדל בשקלים |
default_amount_usd | 1800 | סכום ברירת מחדל בדולרים |
icon | 🎓 | אייקון לתצוגה |
8
SEO — איך גוגל ימצא אותנו
SEO הוא הלב של הפרויקט. אין SEO = אין גולשים = אין תרומות. כל עמוד תפילה חייב להיות עמוד HTML מלא שגוגל יכול לקרוא — לא JavaScript שנטען אחר כך.
מבנה כתובות (URLs)
| URL | תפילה | שפה |
/prayer/health | תפילה לרפואה שלמה | עברית (ברירת מחדל) |
/prayer/exam | תפילה להצלחה במבחן | עברית |
/prayer/travel | תפילה לנסיעה בטוחה | עברית |
/prayer/success | תפילה להצלחה | עברית |
/prayer/baby | תפילה להריון ולידה | עברית |
/en/prayer/health | Prayer for healing | אנגלית |
/fr/prayer/health | Prière pour la guérison | צרפתית |
/ru/prayer/health | Молитва за здоровье | רוסית |
מה חייב להיות בכל עמוד תפילה
| אלמנט | דוגמה | למה |
<title> | תפילה לרפואה שלמה | [שם האתר] | מופיע בתוצאות גוגל |
meta description | תפילה עוצמתית לרפואה... (150 תווים) | הטקסט מתחת לכותרת בגוגל |
hreflang | link rel="alternate" hreflang="en" | גוגל יודע שיש גרסת אנגלית |
| JSON-LD | schema.org/Article | Rich Snippets בגוגל |
| canonical URL | https://domain.com/prayer/health | מונע duplicate content |
מילות מפתח ראשוניות
| שפה | מילות מפתח |
| עברית | תפילה לרפואה, תפילה לרפואה שלמה, תפילה להצלחה, תפילה לפני מבחן, תפילה לנסיעה |
| English | prayer for healing, prayer for success, prayer before exam, prayer for safe travel |
| Français | prière pour la guérison, prière pour la réussite, prière avant un examen |
| Español | oración para la curación, oración para el éxito |
9
אימות משתמשים — Firebase Auth
ספקי כניסה
| ספק | פלטפורמה | חשיבות |
| 🍎 Apple Sign-In | iOS | חובה — App Store דורש זאת |
| 🔵 Google Sign-In | Android + Web | מומלץ ראשון |
| 📱 Phone / SMS OTP | כולם | טוב לישראל |
| ✉️ Email + Password | כולם | fallback |
| 👻 Anonymous | כולם | לתרומה ללא הרשמה |
Anonymous Auth — תרומה בלי הרשמה
כשמשתמש נכנס לאתר בפעם הראשונה — Firebase יוצר לו מזהה אנונימי אוטומטית ברקע. הוא יכול לתרום בלי להירשם. אם אחר כך רוצה לשמור כרטיס — מציעים לו להתחבר עם Google ואז מחברים את שני החשבונות.
זרימת Auth
פתיחת אפליקציה / כניסה לאתר
↓
Firebase Anonymous Auto-Login (שקט, ברקע)
↓
משתמש בוחר סכום תרומה
↓
✅ כן → אשר בקליק
❌ לא → הזן כרטיס + הצע שמירה
↓
✨ תפילה נשלחה!
כפתורי סכומים
בכל עמוד תפילה יש שורת כפתורים עם סכומים מוגדרים + כפתור "סכום אחר":
┌─────────────────────────────────────────┐
│ בחר סכום לתרומה: │
│ │
│ [ ₪18 ] [ ₪36 ] [ ₪72 ] [ ₪180 ] [ + ] │
│ חי ל"ו ע"ב ק"ף אחר │
└─────────────────────────────────────────┘
הסכומים משתנים לפי מטבע — ₪18 / $5 / €5 / £4 — כולם שווי ערך ל"חי".
זרימת תרומה — משתמש חדש (ללא כרטיס שמור)
לחיצה על ₪72
↓
Bottom Sheet: שדה "שמך לתפילה" + Stripe Payment Sheet
↓
☑ "שמור כרטיס לפעם הבאה?" — checkbox
↓
לחיצה: ✅ שלח ותרום ₪72
↓
Stripe מחייב → Backend מאשר → DB שומר
↓
✨ "תפילתך נשלחה! אנו מתפללים בשבילך"
זרימת תרומה — משתמש חוזר (כרטיס שמור)
לחיצה על ₪72
↓
Bottom Sheet: "שמך לתפילה" + "VISA ****1234"
↓
✅ אשר
↓
✨ "תפילתך נשלחה!"
⚡ 2 קליקים בלבד למשתמש עם כרטיס שמור.
🔒 PCI DSS — חשוב מאוד: אנחנו לא שומרים שום פרט כרטיס אשראי. Stripe מחזיר לנו customer_id ו-last4 בלבד. הכרטיס עצמו אצלם.
למה Stripe ולא ספק ישראלי?
| Stripe | Meshulam / Cardcom |
| תמיכה בינ"ל | ✅ 40+ מדינות | ❌ ישראל בלבד |
| ILS (שקל) | ✅ מ-2023 | ✅ |
| SDK לExpo | ✅ רשמי | ❌ אין |
| עמלה | ~2.9% | ~1.8% |
הפרש של 1.1% עמלה לא מצדיק שתי אינטגרציות שונות + עבודת פיתוח כפולה.
11
כפתורי אירוע מהיר (Quick Buttons)
פיצ'ר ייחודי: כפתורים לפי מצב חיים. לחיצה אחת שולחת תפילה + מחייבת כרטיס — אוטומטית.
┌──────────────────────────────────────────┐
│ מה קורה עכשיו? │
│ │
│ [ 🎓 יש לי מבחן ] [ ✈️ אני טס ] │
│ [ 🏥 לפני ניתוח ] [ 👶 לפני לידה ] │
│ [ 💼 ראיון עבודה ] │
└──────────────────────────────────────────┘
מה קורה בלחיצה על "יש לי מבחן"
לחיצה: 🎓 יש לי מבחן
↓
Bottom Sheet: שמך / שם הנבחן + אישור ₪72 עם VISA ****1234
↓
✅ שלח לתפילה + תרום
↓
שם → מאגר תפילות | Stripe → מחייב ₪72 לכרטיס שמור
↓
🎓 "בהצלחה! תפילתך נשלחה"
כפתורים מוגדרים מראש
| Slug | תווית (עברית) | תפילה | סכום ברירת מחדל |
exam | 🎓 יש לי מבחן | /prayer/exam | ₪72 / $18 |
flight | ✈️ אני יוצא לטיסה | /prayer/travel | ₪72 / $18 |
surgery | 🏥 לפני ניתוח | /prayer/health | ₪180 / $50 |
birth | 👶 לפני לידה | /prayer/baby | ₪72 / $18 |
job_interview | 💼 ראיון עבודה | /prayer/success | ₪72 / $18 |
שפות נתמכות — גרסה 1
| קוד | שפה | כיוון | קהל |
he | עברית | RTL ← | ישראל |
en | English | LTR → | ברירת מחדל בינ"ל |
fr | Français | LTR → | צרפת, קנדה, מרוקו |
ru | Русский | LTR → | רוסיה, עולים |
es | Español | LTR → | ארגנטינה, ארה"ב לטינו |
ar | عربي | RTL ← | מזרח תיכון |
להוספת שפה חדשה בעתיד: מוסיפים קובץ JSON אחד בתיקיית i18n/ — אין שינוי בקוד.
זיהוי שפה אוטומטי — סדר עדיפויות
| עדיפות | מקור | דוגמה |
| 1 | בחירה שמורה של המשתמש | בחר FR בעבר → תמיד FR |
| 2 | שפת המכשיר / דפדפן | iPhone בצרפתית → FR |
| 3 | Timezone | Asia/Jerusalem → HE |
| 4 | ברירת מחדל | EN תמיד |
מה מתורגם
| סוג תוכן | איפה | כיצד |
| UI — כפתורים, שגיאות, הודעות | קבצי JSON: i18n/he.json | תרגום ידני מלא |
| תפילות — עברית | DB — עמודת body_he | נוסח ידני ומאומת |
| תפילות — אנגלית | DB — עמודת body_en | תרגום + מקורות (Chabad.org) |
| תפילות — שאר שפות | DB | תרגום AI + flag "בבדיקה" |
כשמשתמש נכנס לאתר — קוראים ל-ipapi.co כדי לדעת באיזו מדינה הוא נמצא, ומציגים את הסכומים במטבע שלו.
| מדינה / אזור | מטבע | סמל | סכומי ברירת מחדל |
| 🇮🇱 ישראל | ILS | ₪ | ₪18 / ₪36 / ₪72 / ₪180 / ₪360 |
| 🇺🇸 ארה"ב + שאר העולם | USD | $ | $5 / $10 / $18 / $50 / $100 |
| 🇪🇺 אירופה | EUR | € | €5 / €10 / €18 / €50 / €100 |
| 🇬🇧 בריטניה | GBP | £ | £4 / £9 / £15 / £40 / £80 |
| 🇦🇷 ארגנטינה | ARS | $ | $500 / $1,000 / $2,000... |
שימו לב: כל הסכומים נשמרים בDB ובStripe באגורות / סנטים — לא שקלים שלמים. ₪72 = 7200, $18 = 1800. זה standard של Stripe.
מסמך זה מיועד לג'וניוריות הפרויקט · יוני 2026 · גרסה 1.0