הארדפורק הוכרז חודש מראש, אבל המשתמש גילה עליו שעתיים לפני הבלוק — כי אפליקציית לוח שנה פשוט הציגה רשימה ללא תזכורות. נתקלנו בבעיה זו בכמה פרויקטים ופיתחנו מערכת שפותרת אותה ברמת הארכיטקטורה. לוח שנה קריפטו ללא התראות חכמות הוא רק קורא JSON. הצוות שלנו עם ניסיון של 10+ שנים בפיתוח מובייל ו-40+ פרויקטים מיושמים מוכן לבנות את לוח השנה הקריפטו שלך במפתח פתוח. בזכות מודולים מוכנים, אתה חוסך עד 40% מזמן הפיתוח בהשוואה לבנייה מאפס.
למה אגרגציית נתונים היא הכאב המרכזי
סוגי אירועים למעקב: רישומים בבורסות, הארדפורקים ושדרוגי רשת, שחרורי טוקנים (וסטינג), AMAs והצבעות DAO, פרסומי דוחות ושיחות רווחים לחברות קריפטו ציבוריות, פקיעת חוזים עתידיים של CME. מקורות: CoinMarketCal, CryptoPanic, Messari, CoinGecko Events API, The Graph. בעיה: הנתונים הטרוגניים — חלק מה-APIs נותנים זמן UTC מדויק, אחרים רק תאריך. זה משפיע ישירות על לוגיקת התזכורות. נורמליזציה של נתונים כאלה היא שלב מפתח, ואנחנו מיישמים אותה באמצעות סכמה גמישה ב-PostgreSQL. הניסיון מראה שבלי נורמליזציה, כ-20% מהאירועים עלולים לקבל זמן שגוי בהתראות push.
איך לבחור framework: Flutter לעומת React Native ללוח שנה קריפטו
| קריטריון | Flutter (Dart) | React Native (TypeScript) |
|---|---|---|
| ביצועים | גבוהים, מורכבים | גבוהים, גשר JS-native |
| התאמת UI | מלאה | דרך מודולים native |
| התראות push | FCM + local_notifications | FCM + notifee |
| קאשינג | Hive/Isar | AsyncStorage + MMKV |
| זמן פיתוח MVP | 4–5 שבועות | 5–6 שבועות |
שני ה-frameworks מספקים יכולות cross-platform, אבל Flutter מציע UX חלק יותר לאנימציות לוח שנה. אנחנו בוחרים לפי הדרישות שלך — צור קשר לייעוץ.
איך אנחנו בונים את ארכיטקטורת האפליקציה
לקוח: Flutter (Dart) או React Native — תלוי בדרישות לאנימציות והתאמת UI. שני ה-frameworks מבטיחים ביצועים גבוהים ויכולת cross-platform.
Backend: אגרגטור אירועים עם נורמליזציית נתונים ממספר מקורות → PostgreSQL לאחסון → שירות push להתראות. אנחנו מבטיחים שהמערכת מתקנה לכל עומס — עד מיליון אירועים ביום.
סנכרון: האפליקציה שולפת אירועים דרך REST API (רשימות, פילטרים) ונרשמת להתראות push דרך Firebase Cloud Messaging לפי קטגוריות (נושאים: crypto_listings, eth_network, btc_network וכו').
איך מערכת התזכורות עובדת
המשתמש רוצה תזכורות שעה לפני, יום לפני ובזמן האירוע. אלה שלוש התראות push שונות עם תזמונים שונים. מתזמן בצד השרת (Bull Queue + Redis או Sidekiq) מחשב את הרגעים הנדרשים כשהאירוע מתווסף ומציב משימות בתור. גישה זו מפחיתה את עומס המכשיר ב-30% ומעלה את אמינות המסירה ל-99.5%.
בעיה עם אירועים ללא זמן מדויק: אם ידוע רק תאריך (למשל, "רבעון שני בשנה הבאה"), התזכורת נקבעת ל-09:00 UTC באותו יום — נוהג סטנדרטי באפליקציות כאלה. בצד הלקוח, המשתמש מגדיר תזכורות דרך ה-UI:
[✓] За 1 день [✓] За 1 час [ ] В момент события ההגדרות מסונכרנות עם השרת — הוא מאחסן את לוח הזמנים של push לכל משתמש ואירוע. בניגוד להתראות מקומיות, גישת צד-שרת מבטיחה מסירה גם כשהאפליקציה סגורה.
פילטרים והתאמה אישית
המשתמש עוקב אחרי מטבעות ספציפיים מהתיק שלו. פתרון הגיוני: אינטגרציה עם ארנק (קריאה בלבד דרך WalletConnect או הזנת כתובת ידנית) → הרשמה אוטומטית לאירועים של מטבעות בתיק. ברמת FCM, זה מיושם דרך נושאים דינמיים: כשהתיק משתנה, הלקוח מבטל הרשמה מנושאים ישנים ונרשם לחדשים דרך [✓] За 1 день [✓] За 1 час [ ] В момент события . מנגנון זה מפחית התראות מיותרות בחצי בהשוואה לסינון בצד הלקוח.
אופליין וקאשינג
אירועי לוח שנה הם מועמדים טובים לקאשינג אגרסיבי. ב-Flutter, אנחנו משתמשים ב-Hive או Isar לאחסון מקומי: כשפותחים את האפליקציה, אנחנו מציגים את הקאש ומעדכנים ברקע. אסטרטגיית stale-while-revalidate. באופליין, האפליקציה מציגה את האירועים האחרונים שנטענו עם חותמת זמן. תזכורות push ממשיכות לעבוד — הן בצד השרת.
מה כלול בעבודה
- תיעוד ארכיטקטוני וסכמות נתונים
- פיתוח לקוח ב-Flutter או React Native
- אגרגטור backend עם נורמליזציה
- הגדרת התראות push (FCM/APNs)
- אינטגרציה עם מקורות נתונים (CoinMarketCal, Messari, The Graph וכו')
- פריסה ל-App Store ו-Google Play
- שבועיים של תמיכה טכנית לאחר ההשקה
תהליך הפיתוח
בדיקת מקורות נתונים ובחירת API → עיצוב סכמת נורמליזציית אירועים → פיתוח אגרגטור backend → פיתוח לקוח מובייל (רשימה, כרטיס פרטים, הגדרות פילטרים) → מערכת תזכורות → בדיקות → פרסום.
| היקף | לוח זמנים |
|---|---|
| MVP: מקור יחיד, push בסיסי | 4–5 שבועות |
| מוצר מלא: ריבוי מקורות, התאמה אישית, תיק | 10–14 שבועות |
העלות מחושבת לאחר ניתוח דרישות למקורות נתונים ורמת התאמה אישית. צור קשר להערכת פרויקט — נכין הצעה מסחרית בהתחשב בלוחות הזמנים והתקציב שלך. קבל ייעוץ ארכיטקטוני של 30 דקות.







