English עברית Українська Polski Русский

ERP Scheduling System

puzzleerp
סקירת ארכיטקטורה ופונקציונליות  |  נובמבר 2026

1. אודות ERP Scheduling System

ERP Scheduling System פותחה עבור מרכזים מדעיים-חינוכיים המציעים לימוד מעמיק של מקצועות ספציפיים (פיזיקה ו/או כימיה) לתלמידים מבתי ספר שונים. למרכזים כאלה יש דרישות ייחודיות לבניית מערכת לוח זמנים — יש לתאם ימים ושעות לימוד מול כל בתי הספר שמהם מגיעים התלמידים לקבוצות הלימוד. האפליקציה מקלה על קטגוריות שונות של עובדים — מנהלים, מורים, עוזרי מעבדה — לנהל עשרות תהליכי עבודה: מתיאום מול בתי ספר שותפים ועד הקצאת מעבדות וכיתות לימוד בהתאם לציוד שהוזמן על ידי המורים. המערכת מאפשרת להנהלת המרכז לנהל את עומס העבודה של המורים (סך שעות עבודה, שעות הוראה, מספר תלמידים בקבוצות) ולקבל החלטות ניהוליות שונות. המערכת גם אוספת, מעבדת ומנתחת את כל הנתונים הסטטיסטיים הקשורים לפעילות המרכז.

בתנאים כאלה, לוח הזמנים אינו יכול להיות סטטי. הוא משתנה מדי יום — דחיות, החלפות, ביטולים. המשימה המרכזית של Scheduling System היא להפוך את תהליך ניהול לוח הזמנים והמשאבים של המרכז החינוכי לשקוף, אינטואיטיבי ונוח לעבודה.
Key Capabilities
Key Capabilities
Technical Guarantees
Immutable data
Atomic transactions
Granular access rights
Access token with auto-logout
Conflict protection at the database level
Zero Trust Cloudflare Tunnel

2. מי עובד במערכת

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

תפקיד מי זה מה עושה במערכת
סופר-אדמין מנהל טכני גישה מלאה. ניהול טבלאות עזר, עובדים והגדרות כלליות.
אדמין כל עובד עם הרשאות ניהול — כולל כתפקיד נוסף בוחן בקשות נכנסות לשינויים בלוח הזמנים, מבהיר פרטים ומאשר אותן. התפקיד היחיד שמבצע בפועל שינויים בנתונים — אישור או דחייה.
מורה מורה מקצועי יוזם שינויים בלוח הזמנים: דחיות, ביטולים, החלפות, הזמנת ציוד. הכל מנוסח כבקשה למנהל — המורה אינו משנה דבר ישירות.
מעבדן/ית עובד/ת מעבדה רואה רשימת שיעורים קרובים עם ציוד שהוזמן. מכין ומספק ערכות. לא יוצר ולא משנה הזמנות — רק מבצע.
מנהל מנהל המרכז החינוכי צפייה מלאה בלוח הזמנים ובדוחות לכל תקופה. מנהל את עומס העבודה של המורים וקובע החלפות. יכול גם ללמד שיעורים (אם משויך כמורה).
רכז/ת רכז/ת מקצוע צפייה בלוח הזמנים ובדוחות עבור מורי המקצוע שלו. מנהל עומס עבודה וקובע החלפות. יכול גם ללמד שיעורים (אם משויך כמורה).
מזכיר/ה מזכיר/ת משרד קריאה בלבד: לוח זמנים מלא, כל הדוחות, כל תקופה. אינו יכול לבצע שינויים.
מתאם/ת מתאם/ת עבודה מול בתי ספר מנהל את התקשורת מול בתי הספר מטעם המרכז. מלווה בתי ספר שותפים, מתאם עניינים לוגיסטיים.
הרשאות הגישה מוגדרות באופן גרנולרי — לא רק לפי תפקיד כולו, אלא לפי פעולה בודדת במסכים ספציפיים (למשל, "פתיחת יום לעריכה" או "קביעת מורה מחליף" יכולות להינתן למנהל ולרכז/ת בנפרד מגישת אדמין מלאה). כך ניתן להרחיב הרשאות בצורה מדויקת ובסיכון נמוך.

3. תהליכים עיקריים

3.1 תבנית שנתית והפצת שינויים

לוח הזמנים בנוי בשתי רמות. הרמה העליונה — תבנית שבועית שנתית: העומס הסטנדרטי של כל מורה וקבוצה. הרמה התחתונה — לוח הזמנים בפועל שבוע אחר שבוע לאורך כל השנה, הנבנה מתוך התבנית הזו.

1האדמין עורך את התבנית — משבץ מחדש מורה, שעה או יום בסלוט בתבנית.
2המערכת מפיצה את השינוי — תוך שניות מעדכנת רק את השבועות והסלוטים שהושפעו: משתנים — מתעדכנים, חדשים — נוספים, מבוטלים — מוסרים. לוח הזמנים כולו אינו נבנה מחדש.
3עבודה קיימת לא הולכת לאיבוד — כל מה שכבר נצבר סביב שיעורים שההפצה לא נגעה בהם — הזמנות ציוד, הערות, בקשות מורים — נשאר כפי שהיה.
חדר לשיעור אינו נבחר באופן שרירותי, אלא לפי צורך בפועל: מנדף, כיור, אפשרות החשכה או ציוד שכבר הוזמן.
שיעור שבוטל בביטול חד-פעמי נשאר בלוח הזמנים עם קו חוצה — המורה והתלמידים רואים שביום הזה לא יהיה שיעור. אבל אם השיעור הוסר בעקבות שינוי בתבנית עצמה (שינוי סלוט, קיצור שנת הלימודים) — הוא עובר לסטטוס נפרד archived: נעלם לגמרי מכל לוחות הזמנים והתצוגות, כך שעד סוף השנה לא מצטברים "שיעורי רפאים", אך נשאר פיזית בטבלה — מפתחות זרים מהיסטוריית הבקשות והביקורת אינם מאפשרים למחוק אותו.

3.2 שינויים בלוח הזמנים

לוח הזמנים נבנה לשנת הלימודים, אך התאמות יומיומיות מתעוררות כל הזמן. המערכת מנתבת אותן במסלול ברור:

1המורה שולח בקשה — מציין בדיוק מה צריך לשנות: לדחות שיעור, לבטל, להתאים הזמנת ציוד או לשנות חדר. מנהל וסגן מנהל, כאשר הם גם מלמדים, משתמשים באותה מערכת כמו מורים רגילים.
2המערכת בודקת התנגשויות — בעת שליחת הבקשה מציגה האם החדר או המורה כבר תפוסים בזמן המבוקש. המורה רואה אזהרה ויכול להתאים את הפרמטרים או לשלוח את הבקשה עם ההתנגשות מסומנת — ואז האדמין מטפל בכך ידנית.
3האדמין בוחן את הבקשה — רואה את תור הבקשות הנכנסות, מתאם פרטים עם המורה במידת הצורך ומאשר את השינוי.
4לוח הזמנים מתעדכן — לאחר כל שינוי מאושר לוח הזמנים מתעדכן מיידית וכל המשתמשים רואים מיד את המצב העדכני.
5השיעור מסתיים — המערכת מסמנת זאת אוטומטית לפי שעת הסיום של השיעור.
כל היסטוריית השינויים נשמרת אוטומטית — האדמין תמיד יכול לראות מה היה לפני השינוי ומי יזם אותו.
את חדר השיעור ניתן לשנות בשלוש דרכים: שיבוץ ישיר, "דחיקה" של שיעור מחדר תפוס (המערכת מוצאת בעצמה חדר חדש לשיעור הנדחק, ואם אין חדר פנוי — משאירה אותו בלי חדר, בלי לחסום את הפעולה), או החלפת חדרים בין שני שיעורים. מייל על שינוי חדר לא נשלח על כל הזזה בתוך הסשן, אלא פעם אחת בלבד — בסגירת היום — ורק למי שהחדר שלו השתנה בפועל.

3.3 הכנת ציוד

1המורה מוסיף ציוד לבקשת שיעור — בעת שליחת בקשה לשיעור חדש או משונה, בוחר את הניסוי הרצוי מהקטלוג ואת מספר הערכות: להדגמה או לעבודה עצמאית של התלמידים. הבקשה כולה — שיעור וציוד — עוברת לאדמין יחד.
2האדמין מאשר את הבקשה — רואה את השיעור והציוד יחד ומקבל החלטה אחת. לאחר האישור, הזמנת הציוד משויכת אוטומטית לשיעור.
3עוזר המעבדה רואה סיכום יומי — בממשק שלו מוצגת רשימת הזמנות לימים הקרובים: מה להכין, כמה ערכות, לאיזו כיתה ולאיזה חדר.
4עוזר המעבדה מרכיב ומספק את הציוד — לפי הנתונים מהמערכת מרכיב ערכות לכל שיעור.
5ההזמנה נסגרת אוטומטית לאחר השיעור — המערכת מסמנת זאת עם סיום השיעור.
מעקב אחר מלאי פיזי ושריון אוטומטי של רכיבים מתוכננים כמודול נפרד בשלב הבא.

3.4 החלפת מורה

אם מורה אינו יכול ללמד שיעור, האדמין, המנהל או סגן המנהל בוחרים מחליף מתוך רשימת המורים הזמינים באותו זמן עם פרופיל מקצוע מתאים. השיעור מוצג מיד כהחלפה בכל מקום — בלוח הזמנים ובתצוגות המסדרון.

רשימת המועמדים נוצרת אוטומטית — המערכת מציגה רק מורים אשר, בו-זמנית: עובדים במרכז באותו יום ושעה (לפי לוח הזמנים האישי של המורה), מוסמכים ללמד את המקצוע בשכבת הגיל הזו, ואינם תפוסים בשיעור אחר באותו זמן.
אם אין מחליף מתאים — השיעור מסומן ברשומת מערכת מיוחדת "ממתין לביטול", ונוצרת אוטומטית בקשת ביטול שיעור עבור האדמין. אם מאוחר יותר נמצא מחליף אמיתי — הבקשה מתבטלת מעצמה, בלי התערבות האדמין.

3.5 אכלוס המערכת בנתונים (תהליך עבודה)

הנתונים מוזנים בסדר מחייב — כל שלב תלוי בקודם.

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

4. ממה מורכבת המערכת

המערכת בנויה ממספר רכיבים עצמאיים, כל אחד אחראי על חלקו:

רכיב מה עושה
בסיס נתונים שומר את כל הנתונים ואוכף את כל הכללים: בדיקות, נעילות, היסטוריית שינויים
שרת API מקבל בקשות, בודק מי רשאי לעשות מה, מעביר פקודות לבסיס הנתונים
ממשק web Scheduling System כולו בעברית (RTL)
תצוגות מסדרון מסכים ייעודיים לאולמות המרכז — לוח הזמנים העדכני של היום עבור מורים, וגרסה פשוטה עבור תלמידים, ללא כניסה אישית (באמצעות מפתח מכשיר סטטי)
התראות צינור מבוסס אירועים: כל פעולה (בקשה הוגשה/אושרה/נדחתה, הזמנת ציוד, חילוף מורה, תחזוקת שרת) רושמת אירוע לתור בתוך אותה טרנזקציה — כשל ברישום לעולם לא חוסם את הפעולה עצמה. תהליך רקע קובע את הנמענים לפי תפקיד, מקצוע ומשתתפי האירוע מתוך טבלת כללים, בונה את ההודעה ושולח אותה דרך ספק דוא"ל טרנזקציוני — עם ניסיונות חוזרים אוטומטיים ומתג כיבוי לאדמין. ערוצי מסרים (Telegram, WhatsApp) נותרים כיוון פיתוח אפשרי.
תשתית פרוסה בקונטיינרים של Docker על שרת AWS, עם גיבוי אוטומטי יומי של בסיס הנתונים

5. אמינות ואבטחה