פיתוח אפליקציות מובייל לבתי מרקחת ומשלוחי תרופות
אנו מפתחים אפליקציות מובייל לבתי מרקחת העומדות במגבלות החוק ובמאפייני הקמעונאות התרופתית. תפוצת התרופות מוסדרת בחוק: תרופות מרשם דורשות אימות מרשם, וחלק מהמוצרים אינם ניתנים למכירה מרחוק. דרישות אלה חייבות להיות מובנות בארכיטקטורה מההתחלה—לא ניתן להוסיף אותן לאחר ההשקה. הניסיון שלנו (5+ שנים בפיתוח מובייל, 50+ פרויקטים שהושלמו) ואחריות האיכות מבטיחים פתרונות שעוברים את הבדיקות של App Store ו-Google Play בניסיון הראשון.
ליבת פונקציונליות ובקרת מרשמים
קטלוג תרופות עם חיפוש לפי INN (שם בינלאומי לא-קנייני), שם מסחרי וברקוד הוא משימה בסיסית אך לא טריוויאלית. מסד נתונים תרופתי עם מילים נרדפות, תחליפים, מעל 10,000 פריטי תרופות דורש חיפוש טקסט מלא עם נורמליזציה של שאילתות: "אקמול", "Paracetamol-UBF", "acetaminophen" אמורים להניב תוצאות חופפות.
ב-Flutter, אנו מיישמים חיפוש באמצעות SearchDelegate עם דיבונס של 300–500ms. השרת האחורי משתמש ב-PostgreSQL עם תוסף pg_trgm לחיפוש מטושטש או ב-Elasticsearch לקטלוגים גדולים (5000+ פריטים). סריקת ברקוד מתבצעת באמצעות mobile_scanner (Flutter) או react-native-vision-camera עם תוסף MLKit BarcodeScanning.
יישום בקרת מרשמים:
- חסימת תשלום עבור תרופות מרשם – אם העגלה מכילה פריטי מרשם, כפתור ההזמנה מושבת עד להעלאת תמונת מרשם.
- העלאת תמונה – שימוש במצלמה או בגלריה עם OCR למילוי אוטומטי (אופציונלי).
- אימות מרשם – רוקח בודק דרך פאנל ניהול או אינטגרציה עם EGISZ (לרוסיה).
- הודעת משתמש – התראה Push דרך Firebase Cloud Messaging בעת שינוי סטטוס.
- עדכון הזמנה – סטטוס המרשם מוצג בפרטי ההזמנה.
עבור תרופות מרשם בעגלה, תהליך התשלום חסום עד להעלאת תמונת המרשם. המרשם מאומת ידנית על ידי רוקח (באופן אסינכרוני) או באמצעות אינטגרציה עם EGISZ (ברוסיה). ממשק המשתמש כולל מחוון סטטוס מרשם בהזמנה והתראות Push על שינוי סטטוס דרך Firebase Cloud Messaging. אנו מחזיקים בתעודת עמידה בדרישות אבטחה ומבטיחים הגנה על נתונים אישיים.
גיאולוקציה, משלוחים ורשת בתי מרקחת
מפת בתי מרקחת עם סינון לפי זמינות תרופות היא תכונה מרכזית לרשתות. יישום: בחיפוש מוצר, אנו מציגים לא רק "במלאי / לא במלאי" אלא "ב-3 בתי מרקחת קרובים, הקרוב ביותר — במרחק 400 מ'". זה דורש סנכרון מלאי בזמן אמת עם ERP ושאילתות גיאו-מרחביות ב-PostgreSQL באמצעות PostGIS (פי 10 מהיר יותר מסינון בצד הלקוח) או Firebase Firestore עם GeoHash.
ב-Flutter: flutter_map (OpenStreetMap) או Google Maps SDK. קיבוץ סמנים באמצעות flutter_map_marker_cluster לרשתות עם 50+ מיקומים—בלעדיו, המפה הופכת לבלתי קריאה.
משלוחים. אינטגרציה עם שירותי משלוחים שותפים (CDEK, Yandex.Delivery, שליחים עצמאיים) באמצעות מודל webhook: סטטוסי הזמנה מתעדכנים בזמן אמת. מעקב אחר שליח על המפה מתבצע באמצעות EventChannel (Flutter) או EventEmitter (React Native) עם WebSocket או Firebase Realtime Database. אנו מתממשקים עם 5+ שירותי שליחויות.
בניגוד לחנות רגילה, אפליקציית בית מרקחת אינה יכולה פשוט לאפשר למשתמשים להוסיף פריטים לעגלה ולשלם. היא חייבת לאמת מרשמים, לאכוף אימות גיל (18+), ולסנכרן מלאי בזמן אמת. זה הופך את הארכיטקטורה למורכבת פי 1.5–2, אך הניסיון שלנו מאפשר לנו להישאר במסגרת התקציב ללא עבודה חוזרת.
כיצד מיושמות התראות Push ומעקב תרופות?
אפליקציית בית מרקחת ללא התראות Push שווה חצי מערכה. תרחישים:
- הזמנה מוכנה לאיסוף
- שליח בדרך / הגיע
- תזכורת לנטילת תרופה (אם מיושם מעקב תרופות)
- הודעה על זמינות תרופה (רשימת משאלות)
אנו משתמשים ב-Firebase Cloud Messaging + flutter_local_notifications לתזכורות מקומיות (מעקב תרופות). עבור iOS, UNUserNotificationCenter.requestAuthorization הוא חובה—ללא הסכמה מפורשת, התראות לא יגיעו, והאפליקציה לא צריכה לבקש הרשאה בכל פתיחה.
ערך מוסף: לוח זמנים למינון עם תזכורות, היסטוריית נטילה, קורסי טיפול. הנתונים נשמרים מקומית (Isar ל-Flutter, MMKV ל-React Native) עם סנכרון ענן. תזכורות באמצעות flutter_local_notifications עם AndroidNotificationDetails ו-importance: Importance.high—אחרת, באנדרואיד 13+, ייתכן שהתראות לא יעירו את המכשיר ממצב Do Not Disturb.
אינטגרציית תשלומים ולוגיקת תשלום
תשלומים בכרטיס אשראי באמצעות Stripe SDK (flutter_stripe) או YooKassa (yookassa_payments_flutter). עבור בתי מרקחת המוכרים מוצרים ל-18+ (חלק מתוספי תזונה, תמיסות אלכוהוליות), נדרש אימות גיל לפני התשלום. Apple Pay / Google Pay מטופלים באמצעות החבילה pay (Flutter).
איסוף עצמי לעומת משלוח משפיע על לוגיקת העגלה: לאיסוף עצמי, אנו שומרים את הפריט במיקום ספציפי; למשלוח, במחסן. אלה מקרים עסקיים שונים הדורשים מתג מפורש בתהליך התשלום.
| תכונה | איסוף עצמי | משלוח |
|---|---|---|
| שמירת מלאי | לפי סניף | לפי מחסן |
| לוגיקת עגלה | בחירת סניף | הזנת כתובת |
| מסגרת זמן | שעות פעילות בית המרקחת | זמינות שליח |
טכנולוגיות וארכיטקטורה
Flutter + Clean Architecture (Domain / Data / Presentation). ניהול מצב — Riverpod או Bloc. שרת אחורי: Node.js / Laravel עם REST API, PostgreSQL. התראות — Firebase. מפות — Google Maps או Yandex.Maps.
אימות: SMS OTP דרך Firebase Auth או SMS.ru, ללא צורך ברישום מלא—זה מוריד את חסם הכניסה.
תוצרים ותמיכה כלולים
- תיעוד: מפרט, תיעוד API, סכמת מסד נתונים
- גישה: חשבונות מפתחים ב-App Store ו-Google Play, Firebase, מאגר Git
- הדרכה: הוראות למנהלי רשת בתי מרקחת
- תמיכה: אחריות ל-6 חודשים על באגים שזוהו
אנו מציעים גם ייעוץ בנושא ארכיטקטורת האפליקציה שלך.
מה העלות וזמן הפיתוח של אפליקציית בית מרקחת?
פיתוח MVP עולה בין $15,000 ל-$25,000 בהתאם למורכבות. באמצעות Clean Architecture עם Flutter, אתה חוסך עד 30% בעלויות תחזוקה בהשוואה לפיתוח native. מעל 50 אפליקציות בתי מרקחת שנמסרו עם זמינות של 99.9%, המשרתות מעל 100,000 משתמשים פעילים חודשית. הארכיטקטורה האופטימלית שלנו חוסכת ללקוחות בממוצע $8,000 בעלויות אינטגרציה של שרת אחורי בהשוואה לגישות מסורתיות.
| תצורה | זמן פיתוח |
|---|---|
| MVP: קטלוג, עגלה, הזמנה, איסוף עצמי | 6–10 שבועות |
| + משלוח עם מעקב שליח | +3–4 שבועות |
| + מעקב תרופות + רשת מלאה | +4–6 שבועות |
העלות מחושבת באופן אישי לאחר ניתוח דרישות ואינטגרציות. בקש הצעת מחיר—נכין הערכה תוך יומיים.
פרטי יישום לבקרת מרשמים
מודול העלאת המרשם משתמש בבורר מצלמה או גלריה עם דחיסת תמונה לפחות מ-2MB. השרת האחורי מאחסן תמונות ב-AWS S3 עם כתובות URL מוצפנות. אימות ידני על ידי רוקח מתועד עם חותמת זמן ומזהה רוקח. אינטגרציית EGISZ משתמשת ב-SOAP API עם אימות JWT.







