על המערכת
PulseBoard היא מערכת בקרה תפעולית בזמן אמת — דשבורד יחיד שמרכז את כל הסניפים, נקודות המכירה והתשתיות של רשת רב-סניפית, עם נתונים שמתעדכנים מילישנייה אחר מילישנייה ולא ברענון דף.
נבנתה במקור עבור רשת קמעונאית עם 12 סניפים, ומשם הותאמה כמערכת גנרית לכל ארגון שצריך single pane of glass — מנהל אופרציה, מנהל IT, מוקד שירות.
יכולות מרכזיות
- סטרים אירועים חי — כל פעולה משמעותית (deploy, downtime, חריגה ב-SLA, התראת מערכת) מגיעה ללוח תוך פחות מ-200ms דרך WebSocket gateway. בלי polling, בלי refresh.
- מפת סניפים אינטראקטיבית — כל סניף עם status pin (active / warning / offline) ו-tooltip חי של uptime, latency ו-events/hr.
- KPI cards מתעדכנים — Active branches, throughput, p95 latency, alerts — מספרים שזזים בזמן שמסתכלים.
- גרף תפוקה דו-שכבתי — אזור שמצויר במונוטון cubic-bezier מתוך נתוני TimescaleDB — 6 שעות אחורה, חלון נע אוטומטי.
- פיד אירועים מסונן לפי חומרה — color-coded לפי סוג (info / success / warning / critical), ניתן לסנן לפי סניף, סוג, ומפעיל.
- התראות חכמות — anomaly detection פשוט (rolling z-score) שמזהה דפוסי תפוקה לא-נורמליים ומוציא התראה לפני שהמשתמש שם לב.
- Auto-failover ו-replay — סניף שנופל מסומן אוטומטית, וכשחוזר online — events מ-buffer מקומי משוחזרים לפי סדר.
- RBAC + multi-tenant — מנהל רשת רואה הכל, מנהל אזור רואה רק את האזור שלו, מנהל סניף רואה רק את הסניף שלו.
הארכיטקטורה
- Edge collectors ב-FastAPI שיושבים בכל סניף, אוספים אירועים מ-POS / IoT / sensor APIs, ומשגרים ל-central queue.
- Redis Pub/Sub כצומת מרכזי + TimescaleDB לאחסון time-series ארוך טווח.
- WebSocket gateway ב-Python עם asyncio — מטפל ב-2,500+ events/sec ובחיבורים מקבילים מרובים.
- Frontend ב-Next.js + React עם Recharts ו-Mapbox, אופטימיזציה אגרסיבית של re-renders (memoization + zustand stores).
- Hebrew RTL native — לא תרגום שיוצק לתבנית אנגלית, אלא עיצוב שתוכנן מההתחלה לימין-שמאל.
הפילוסופיה
מערכת בקרה אמיתית לא מציגה נתונים. היא מציגה מציאות. כל שנייה של עיכוב היא שניה של עיוורון.
המערכת תוכננה לסביבת מנהלי תפעול שיושבים מולה 8 שעות ביום. כל אלמנט נבחר כדי לצמצם את time-to-insight — מהרגע שמשהו קורה בעולם ועד שהמנהל יודע ויכול להגיב.