חשיפה מוקדמת - פרוייקט: "קרוב ה' לכל קוראיו"..
-
באוירת הימים הנוראים רציתי לשתף אתכם בפרוייקט שעליו אני עמל זה זמן מה, ומטרתו היא ליצור מאגר עדכני של כל המניינים בכל בתי הכנסת ברחבי הארץ.
המטרה כמובן היא לאפשר לכל מי שנמצא מחוץ לביתו ומחפש מנין לתפילה - למצוא בקלות את מבוקשו, בלא טרחה מרובה ובלא שיאלץ בסופו של דבר להתפלל יחיד באמצע הדרך.
השאיפה הסופית - אפליקציה שתוכל להתממשק עם WAZE על מנת לתכנן לאדם את מסלול נסיעתו מראש כך שיכלול בתוכו תפילת שחרית/מנחה/ערבית.
לדוגמא: אדם נוסע בבין הזמנים לצפון והוא יוצא בשעה 17:00 מירושלים הוא יכתוב בWAZE קרית שמונה, יבקש שהמסלול יכלול גם תפילת מנחה, והאפליקציה תדע לחשב לו האם הוא יוכל להתפלל מנחה בקרית שמונה, או שהוא יאלץ להתפלל באמצע הדרך, ואם כן היא תדע להכווין אותו לבית הכנסת הקרוב ביותר לנתיב הנסיעה שלו, כדי כמה שפחות להאריך לו את הדרך. (כמובן, שהוא יכול לבקש שזה ימצא לו מנין בנוסח חסידי או ליטאי וכדו', והיא תדע לשקלל את כל הנתונים).
אני חושב שזה דבר שחסר היום. כשאני נוסע לכל מיני מקומות שאינני מכיר, ואני צריך לחפש איפה יש בית כנסת באיזור ומתי יש בו מנחה או מעריב, הייתי שמח אם היה לי את המידע הזה בצורה יותר נגישה.
אני לא יודע אם זה פרוייקט רווחי כלכלית, אבל אני בטוח שהוא רווחי בעולם האמת, וזה הרי העיקר בחיים
לשם כך צריך להגדיר כמה שלבים:
שלב א - בניית מסד נתונים שכולל מידע על כל בתי הכנסת בישראל, שמם, מיקומם (כולל נ.צ. ע"מ לאפשר ניווט), נוסח התפילה בהם, פעילות (ימות חול, או רק בשבתות וחגים). וכן מידע על המניינים המתקיימים בהם - זמן, נוסח, וכו'.
כמובן, כדי שזה יהיה עדכני כמה שיותר, צריך להפיץ את זה כדי שאנשים המשוגעים לדבר יהיו מוכנים לעדכן את הפרטים על המניינים באיזור מגוריהם. וכן צריך לכתוב נוסחה שתדע לחשב את זמני התפילות העדכניות, (למשל מנחה 20 דק' לפני השקיעה, אז צריך לדעת מתי השקיעה ולעדכן את הזמן לכל יום. ואם זה 20 דק' לפני השקיעה אבל מתעגל כלפי מעלה או מטה וכו').
שלב ב' - לבנות אתר שידע לזהות את המיקום של המשתמש ולהציג לו את המניינים הנמצאים ברדיוס הקרוב אליו. וכן לאפשר לו לחפש בית כנסת כרצונו.
שלב ג' - לבנות אפליקציה או אתר שידע להתממשק עם WAZE לקבל ממנו את המידע על עומסי התנועה וכו', וע"פ זה הנתונים הללו ונתוני זמני התפילות ומיקומי בתי הכנסת - לבנות למשתמש מסלול נסיעה מתאים.
אני יודע ששלב ג' - הוא עוד רחוק.. אבל גם הוא יגיע..
העיקר זה קודם לבנות את מסד הנתונים. לשם כך צריך לבנות גם דטהבייס נכון, וגם ממשק משתמש שיאפשר לו להוסיף בתי כנסת.
הנה קישור לדף ראשוני שיודע להמיר את הכתובת שהמשתמש מזין לנ.צ. ע"מ לשמור במסד הנתונים את הLocation בלע"ז של בית הכנסת. לאחר שהמשתמש לוחץ על עדכן נ.צ. מוצגת לו מפה והוא מתבקש לאשר את המיקום וכך בית הכנסת נוסף לרשימה (זה עדיין לא עובד בקישור הנ"ל.. )לגבי הדטה בייס, פתחתי פרויייקט נפרד שמספק API לנתוני בתי הכנסת והמניינים.
אני עובד בשיטת code-first והמודל שלי מכיל 2 מחלקות, הראשונה עבור בתי כנסת:namespace SynagoguesAPI.Models { public class Synagogue { public int ID { get; set; } [Display(Name = "שם בית הכנסת")] public string Name { get; set; } [Display(Name = "עיר")] public string City { get; set; } [Display(Name = "רחוב")] public string Street { get; set; } [Display(Name = "מספר בית")] public string Number { get; set; } [Display(Name = "מיקוד")] public string ZipCode { get; set; } [Display(Name = "נ.צ.")] public DbGeography Location { get; set; } [Display(Name = "נוסח")] public nosachPrayer Nosach { get; set; } = nosachPrayer.All; //תת נוסח מכיל מידע בשפה חופשית - כגון "ליטאי", "חסידי", "ירושלמי", "מרוקאי" וכו' [Display(Name = "תת-נוסח")] public string SubNosach { get; set; } [Display(Name = "פעילות")] public activity Activity { get; set; } = activity.AllDays; public ICollection<Minyan> Minyanim { get; set; } = new List<Minyan>(); } public enum activity { [Display(Name = "כל הזמן")] AllDays, [Display(Name = "שבתות וחגים")] Saturdays } public enum nosachPrayer { [Display(Name = "לפי החזן")] All, [Display(Name = "אשכנזי")] Ashkenazy, [Display(Name = "ספרדי")] Safaradi, [Display(Name = "תימני")] Teymani, [Display(Name = "אתיופי")] Etyopi } }
השנייה מכילה את הנתונים על המניינים:
public class Minyan { public int ID { get; set; } /// <summary> /// סוג התפילה (שחרית/מנחה/ערבית וכדו /// </summary> [Display(Name = "שם התפילה")] public string Prayer { get; set; } [Display(Name = "שעת התחלה")] public string TimeStart { get; set; } /// <summary> /// קצב התפילה /// </summary> [Display(Name = "קצב התפילה")] public rate Speed { get; set; } } public enum rate { [Display(Name = "רגיל")] Normal, [Display(Name = "מהיר")] Fast, [Display(Name = "איטי")] Slow, [Display(Name = "משתנה")] Changing }
אשמח לשמוע רעיונות, עצות, הערות והארות..
יישר כח לכל מי שקרא עד כאן :lol:
אברהםפורסם במקור בפורום CODE613 ב05/10/2016 22:49 (+03:00)
-
שני הערות.
לדעתי הנוסח לא יכול להיות ב enum. בגלל שיש הרבה מידי.
וגם אני יכול להמר שאתה לא אשכנזי. כי פספסת את נוסח ספרד.לגבי המהירות של המניין. זה קצת לא מדיד. כי זה יחסי ולכל אחד יש את המהר והלאט שלו.
פורסם במקור בפורום CODE613 ב06/10/2016 00:12 (+03:00)
-
שני הערות.
לדעתי הנוסח לא יכול להיות ב enum. בגלל שיש הרבה מידי.
וגם אני יכול להמר שאתה לא אשכנזי. כי פספסת את נוסח ספרד.לגבי המהירות של המניין. זה קצת לא מדיד. כי זה יחסי ולכל אחד יש את המהר והלאט שלו.
אכן אני ספרדי.. אם כי כל חיי גדלתי בין האשכנזים.. ואף בימים נוראים אני מתפלל עמהם. אך מבחינתי אשכנז וספרד זה תת נוסח, כיון שאדם שמחפש בית כנסת אשכנזי לא יבדוק בציציות אם אומרים שם 'ויצמח פורקניה' או לא..
העניין עם הenum הוא בשביל שאדם יוכל לבצע סינון ראשוני, למשל אשכנזי שרוצה בי"כ אשכנזי ולא ספרדי, וכו'.
לגבי המהירות צודק, אכן התלבטתי בעניין. אם כי עדיין תסכים איתי שיש הבדל בין מנין שחרית שמתפלל ב25 דק' שזה מאד מהר :lol: למנין שמתפלל שעה שזה אכן לאט..
אשמח לשמוע דעות נוספות לגבי ההערות שהעלית.פורסם במקור בפורום CODE613 ב06/10/2016 00:27 (+03:00)
-
ברכות על המיזם הנהדר.
אם זה מיזם ללא כוונות רווח, אני ממליץ לך להעלות אותו לגיט האב, זאת פלטפורמה מוכנה לכל השיתופי פעולה שאתה רוצה שיהיו.
לגבי נוסח התפילה, בימות החול לא כל כך ידוע לי על אנשים שמקפידים על זה. השימוש המירבי באפליקציה בין כה וכה מיועד לתפילות בימות החול במקום שאינך מכיר, לכן נראה לי שזה נתון לא כל כך קריטי.פורסם במקור בפורום CODE613 ב06/10/2016 12:04 (+03:00)
-
ברכות על הפרוייקט! זכויותיך בוודאי עצומות.
מה לגבי ציבור החרדים לדבר ה' שאין ברשותם סמארטפון/אינטרנט למיניהם?
אולי כדאי לשלב גם מערכת טלפונית, שיוכלו לבחור בכל איזור את זמני התפילות, וכן שהגבאים יוכלו לעדכן טלפונית את זמני התפילות (אולי ע"י קוד גבאי).
אם זה נראה לך, ייתכן מאוד שאוכל לקחת את החלק הזה בפרוייקט.
איפה אתה שם את המסד נתונים? MYSQL ?SQLSERVER?פורסם במקור בפורום CODE613 ב06/10/2016 15:58 (+03:00)
-
תודה לכולם על הברכות והעצות!!
@CODE.NETאולי כדאי לשלב גם מערכת טלפונית, שיוכלו לבחור בכל איזור את זמני התפילות, וכן שהגבאים יוכלו לעדכן טלפונית את זמני התפילות (אולי ע"י קוד גבאי).
אם זה נראה לך, ייתכן מאוד שאוכל לקחת את החלק הזה בפרוייקט.
איפה אתה שם את המסד נתונים? MYSQL ?SQLSERVER?אפשרי בשמחה! אם כי נראה לי שכדאי רק לאחר שפרוייקט הAPI יעבוד. כדי שלא ננסה לחטוף הרבה דברים בבת אחת ובסוף לא יהיה לנו כלום
אני משתמש בSQLSERVER כידוע ליודעי חן :lol:כמו כן, אני באמת מתלבט האם כדאי שהדטה בייס יכיל כמה שיותר מידע על בתי הכנסת, (כגון כמות מתפללים, כמה חדרים וכדו') כך שאולי בעתיד יהיה אפשר להשתמש בזה לצרכים נוספים (כגון מידע למשווקים לבתי כנסת וכדו'), או שזה סתם יכביד על המערכת?!
ולארכיטקט, אכן זהו פרוייקט ללא כוונת רווח, כך שכל מי שרוצה לעזור מוזמן בשמחה!! בע"ה אעלה את הפרוייקט לגיטהאב בהמשך.. רק קחו בחשבון שאני די בהתחלה, ואני לא עובד עליו כל היום.. כך שיקח זמן עד שזה יהיה מוכן אבל בע"ה נקווה שעד בין הזמנים שבסוף השנה זה יהיה מוכן לתועלת הנופשים..
פורסם במקור בפורום CODE613 ב06/10/2016 19:42 (+03:00)
-
ברכות על הפרוייקט! זכויותיך בוודאי עצומות.
מה לגבי ציבור החרדים לדבר ה' שאין ברשותם סמארטפון/אינטרנט למיניהם?
אולי כדאי לשלב גם מערכת טלפונית, שיוכלו לבחור בכל איזור את זמני התפילות, וכן שהגבאים יוכלו לעדכן טלפונית את זמני התפילות (אולי ע"י קוד גבאי).
אם זה נראה לך, ייתכן מאוד שאוכל לקחת את החלק הזה בפרוייקט.
איפה אתה שם את המסד נתונים? MYSQL ?SQLSERVER?גם לקחת בחשבון שבמערכת טלפונית ההקלטות שכל הגבאים יקליטו לא תמיד יהיו אחידות וברורות, וכו....
פורסם במקור בפורום CODE613 ב07/10/2016 00:55 (+03:00)
-
אם תרצה רשימה תוכל לקחת מכאן רשימה חלקית..
http://www.tfilot.co.il/פורסם במקור בפורום CODE613 ב10/10/2016 02:13 (+03:00)