English
תנועה
נגישותפרטיות
סיפור הפרויקט10 / 15ספטמבר 2022 – מאי 2026

מערכת מעקב נוכחות – AKA Attendees Tracker

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

תפקיד
ראש צוות ומפתח ראשי
ארגון
תקשוב אכ״א – ענף התקשוב והדיגיטל של אגף כוח האדם (אכ״א), צה״ל
תקופה
ספטמבר 2022 – מאי 2026
הקשר
שירות צבאי בתקשוב אכ״א · פרויקט בין-יחידתי עם אכ״א, בזמן עבודתי בתע״ץ
צוות וקרדיטים
  • עידן אחרק — ראש צוות ומפתח ראשי: הקיוסק, והווב מגרסה 0.1 עד 1.0.0
  • נועם שדמי — ייצב את ניסיון הווב הראשון ובנה את גרסה 0.1
להדגמה החיה (נפתח בכרטיסייה חדשה)נתוני דמה · שינויים מתבטלים כעבור כ-3 שעות

01 / דפי נוכחות מנייר

אגף כוח האדם (אכ"א) מקיים כנסים ואירועים שבהם המארגנים צריכים לדעת מי הגיע. הנוכחות נרשמה על דפי נוכחות מנייר בכניסה.

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

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

02 / מה בניתי

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

אחר כך הגיעה מערכת ווב לעמדות רבות. חייל בצוות שלי עשה ניסיון ראשון שלא היה יציב; נועם שדמי ייצב אותו, אבל המוצר עדיין היה חלש, אז התחלנו מחדש. נועם בנה את גרסה 0.1 ועזר לגבש את הרעיון, ואני פיתחתי אותה מחדש בעזרת Claude Code למערכת של היום: מחשב נייד אחד מריץ אותה, כל מחשב, טאבלט או טלפון הוא עמדת רישום, ומסך ניהול מטפל ברשימות המוזמנים, בנוכחות בזמן אמת ובהיסטוריית ביטול.

איך זה נבנה

  1. נובמבר 2022קיוסק, גרסה 1.0קיוסק במסך מלא: מעבירים או סורקים את החוגר, מקבלים ברכה, ושעות הכניסה והיציאה נרשמות.
  2. דצמבר 2022שימוש ראשון בכנסהקיוסק רושם את המשתתפים בכנס הראשון שלו, והמארגנים מקבלים את רשימת הנוכחות כקובץ.
  3. ינואר–יוני 2023קיוסק, גרסאות 2.0 עד 2.6מונים חיים, שמירה אחרי כל סריקה, ורשימות מוזמנים מאקסל עם נוכחות בחזרה לאקסל. גרסת הקיוסק האחרונה.
  4. 2023–2024ניסיון ווב ראשוןחייל בצוות שלי ניסה לבנות גרסת ווב. היא לא הייתה יציבה; נועם שדמי ייצב אותה, אבל המוצר נשאר חלש.
  5. 2025–2026התחלה חדשה: גרסה 0.1התחלנו מערכת ווב חדשה. נועם שדמי בנה את גרסה 0.1 ועזר לגבש את הרעיון, עד לפני הגרסה השמישה הראשונה.
  6. מאי 2026פיתוח מחדש עם Claude Codeלקחתי את הפרויקט ופיתחתי אותו מחדש למוצר של היום: מסכים חדשים, אקסל בצד השרת, כניסה ויציאה, והיסטוריית ביטול.
  7. מאי 2026גרסה 1.0.0קובץ הפעלה בלחיצה אחת, מדריך שימוש בעברית ומדריך למפתחים, כך שצוות האירוע יכול להפעיל אותה לבד.

03 / דגשים

01

כניסה ויציאה בסורק

סריקה ראשונה רושמת כניסה, השנייה רושמת יציאה, והשלישית מודיעה שהמשתתף כבר יצא.

02

כל מכשיר הוא עמדה

מחשב נייד אחד מריץ את האירוע, וכל מחשב, טאבלט או טלפון מצטרף כעמדת רישום.

03

הוספה במקום

מספר שלא ברשימה פותח טופס קצר: מקלידים שם, והמשתתף נוסף ונרשם.

04

אקסל פנימה והחוצה

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

05

ביטול כל שינוי

כל שינוי נשמר עם צילום מצב, ואפשר לייצא אותו לאקסל או לבטל אותו.

06

הרבה כנסים

יוצרים כנסים, עוברים ביניהם ומעבירים לארכיון; לכל כנס רשימה והיסטוריה משלו.

04 / מסכים

13 מסכים · נתוני דמה
עמדת הרישום בגרסת הווב רגע אחרי סריקה: הכניסה נרשמה, ובראש המסך מוצג כמה כבר הגיעו לכנס הפעיל (נתוני דמה).
01 עמדת הרישום בגרסת הווב רגע אחרי סריקה: הכניסה נרשמה, ובראש המסך מוצג כמה כבר הגיעו לכנס הפעיל (נתוני דמה).
הוספת משתתף שלא מופיע ברשימה
02 מספר שלא מופיע ברשימה: העמדה אומרת זאת ופותחת את "הוספת משתתף חדש". מקלידים שם, והמשתתף נוסף ונרשמת לו הגעה מיד.
מסך הרישום בטלפון
03 אותו מסך רישום ברוחב של טלפון. כל טלפון או טאבלט ברשת של האירוע יכול לשמש עמדה.
מסך הניהול, לשונית משתתפים
04 מסך הניהול: הנוכחות בכנס הפעיל עם פס התקדמות, סרגל כלים לחיפוש, הוספה, ייבוא וייצוא אקסל, איפוס ומחיקת הכול, וטבלת המשתתפים ממוינת לפי שעת ההגעה, מהאחרונים שהגיעו.
חלון התאמת העמודות מאקסל
05 ייבוא מאקסל עם שמות עמודות שהמערכת לא מזהה: כל עמודה מוצגת עם ערכים לדוגמה ומותאמת לשדה ידנית, ועמודת היחידה מסומנת "התעלם".
תוצאות הייבוא מאקסל
06 תוצאות הייבוא: 5 נשמרו, כפילות אחת שכבר הייתה בכנס ושגיאה אחת, עם מספר השורה והסיבה.
לשונית הפעולות
07 לשונית הפעולות: כל ההיסטוריה של הכנס הפעיל, עם תווית צבעונית לכל סוג פעולה וכפתורי פרטים, ייצוא ושחזור בכל שורה. אחת השורות היא שחזור שהושלם של משתתף שנמחק.
צילום מצב לפני ואחרי של פעולה אחת
08 עריכה אחת פתוחה לפרטים: טבלת לפני ואחרי מראה בדיוק מה השתנה, כאן שם של משתתף.
לשונית הכנסים
09 לשונית הכנסים: שבעה כנסים, לכל אחד הסטטוס שלו (פעיל, בארכיון או לא פעיל), תאריך היצירה ומספר המגיעים, וכפתורים להפעלה, להעברה לארכיון או להחזרה ממנו.
המסך הראשי של הקיוסק
10 הקיוסק (גרסה 2.6): קורא כרטיסים שחוגר עובר בו משמאל, יד שמחזיקה חוגר מתחת לסורק הברקוד מימין, והמונים "ברשימה" ו"נקלטו עד כה" בפס העליון.
חלונית הפרידה של הקיוסק
11 חלונית הפרידה ברישום השני של המשתתף: השם, שעות הכניסה והיציאה וזמן השהייה.
מסך ההגדרות של הקיוסק
12 מסך ההגדרות: טעינת רשימת המוזמנים מאקסל, ייצוא לאקסל, מחיקת הנתונים, המתג "דרוש להכניס שמות" והזנה ידנית. בתחתית הקרדיט "פותח על ידי עידן אחרק".
אז ועכשיו
13 אז ועכשיו: המסך הראשי של הקיוסק (2023) ועמדת הרישום בגרסת הווב (2026).

05 / השפעה

מעל 90אירועים
יותר מ-14,000מוזמנים לאירוע אחד: כנס המשתחררים
6גרסאות קיוסק ב-7 חודשים
פחות מ-20 שעותלסיום גרסה 1.0.0, בעבודה עם Claude Code

המערכת שימשה ביותר מ-90 אירועים של למעלה מ-20 יחידות ואגפים, ואלפי משתתפים נרשמו דרכה, ממאות ועד אלפים בכל אירוע. באירוע הגדול ביותר, כנס המשתחררים, היו ברשימת המוזמנים מעל 14,000 איש, באירוע העמוס ביותר פעלו במקביל 12 עמדות רישום, ו-7 מארגנים ניהלו איתה אירועים.

במקום דף נייר, כל משתתף נרשם בסריקה בכניסה. המארגנים רואים מי הגיע בזמן אמת, מסיימים את האירוע עם דוח נוכחות באקסל, ומתקנים טעויות מתוך היסטוריית הפעולות במקום בעבודה ידנית. בעזרת Claude Code, השלב האחרון עד גרסה 1.0.0 נעשה בפחות מ-20 שעות.

06 / התפקיד והטכנולוגיה

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

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

טכנולוגיות

  • Python
  • pygame
  • pandas
  • PyInstaller
  • FastAPI
  • SQLAlchemy
  • SQLite
  • React
  • Vite
  • Tailwind CSS
  • Server-Sent Events
  • Claude Code
  • Uvicorn
  • Pydantic
  • openpyxl
  • pytest
  • pnpm
  • Pillow

איך זה בנוי

הקיוסק הוא אפליקציית Python במסך מלא שנבנתה ב-pygame, על ערכת הווידג'טים שלי. תהליכון ברקע קורא את הסורק ואת קורא הכרטיסים, שמקלידים כמו מקלדת; הגרפיקה, שהוכנה ברזולוציית 4K, מותאמת למסך פעם אחת ונשמרת; pandas קורא וכותב את קובצי האקסל; ו-PyInstaller אורז הכול לקובץ הפעלה אחד. מערכת הווב בנויה משרת FastAPI עם מסד נתונים SQLite ומצד לקוח ב-React, שהשרת מגיש בעצמו. כל שינוי נשמר כפעולה עם צילום מצב כדי שאפשר יהיה לבטל אותו, Server-Sent Events מעדכנים את מסכי הניהול, וקובץ הפעלה ל-Windows מתקין, בונה ומפעיל הכול על מחשב נייד אחד. את הפיתוח מחדש לגרסה 1.0.0 עשיתי עם Claude Code בהכוונה שלי: נתתי לו את רפרנס העיצוב ואת גבולות העבודה, בדקתי כל קומיט, וגיביתי את כללי הסריקה בבדיקות אוטומטיות (pytest).

דף נוכחות מנייר הפך לסריקה בכניסה.

קודם קיוסק שבניתי לבד, ואחר כך מערכת ווב שהובלתי ופיתחתי מחדש עם Claude Code לרשת עמדות שלמה.

פרקים