מסמכים

מפת דרכים · ROADMAP

מה כבר יש, מה בעבודה, מה בעתיד. לא התחייבות - כיוון. מקור: ROADMAP.he.md. גם באנגלית לקהילת המפתחים. רוצים להציע פיצ'ר? פתחו issue ב-GitHub או שלחו הודעה ישירה ב-nx1xlab.dev/contact.

מפת דרכים

מה בהמשך ל-OpenCarIL. לא התחייבות - כיוון.

גרסה נוכחית: v0.1.0 (שחרור ציבורי ראשוני).

שינויים בודדים: CHANGELOG.he.md. עבודה היסטורית ובתהליך: פרטית למי שמתחזק את הפרויקט.

הגרסה האנגלית (יעד ל-GitHub וקהילת מפתחים): ROADMAP.md.


v0.2.0 - ליטוש אחרי הפרסום

פריטים קטנים שהיו נשלחים באותו שבוע לוּ היה כבר טראפיק אמיתי.

  • דף /data-freshness - דלתה של מספר רשומות מאז ה-ETL הקודם לכל מאגר, בנוסף ל-_meta.last_fetch_utc הנוכחי ולזיהויי משאבי CKAN. עונה על השאלה "האם הנתונים חיים?" בלי לחפור.
  • FAQPage JSON-LD על /about.
  • llms-full.txt עם מילוני עמודות לכל מאגר.
  • תיקון אנטי-דפוס interactive-in-interactive בטבלאות עם שורות לחיצות (רפקטור CSS של stretched-link).
  • Job של lint לקבצי workflow (zizmor + actionlint).
  • הרחבת טבלת התעתיקים לעברית מעבר ל-~120 הראשונים (v0.1.0 שילח את ה-100 הפופולריים; הזנב הארוך ידרש נתוני חיפוש אמיתיים).

v0.3.0 - תלוי בפריסה

לשליחה אחרי שהאתר פרוס בפועל על Cloudflare Pages.

  • קאש cross-isolate על Cloudflare KV (יחס hit-rate אמיתי דורש טראפיק אמיתי).
  • הפעלת Sentry.
  • הפעלת Turnstile (site key + secret + cookie key).
  • מיזוג PR-ים של Renovate על החולשות שנמצאו ב-audit לפני הפרסום.

v0.4.0 - משטחים חדשים

  • ממשק אנגלית תחת /en/*. עברית נשארת ברירת המחדל.
  • הצעות מחיר בזמן אמת דרך צירוף mehir_yevuan (מחירי יבואן) עם טווחי שנה/רמת גימור.
  • סמנים של נזק / שינוי מבנה על ציר הבעלויות עם תאריכי אירוע ממשיים (אם ניתן לשחזר אותם).

v0.5.0 - גישה תוכנתית

  • API ציבורי /api/v1/* עם מפתחות + rate limit כבד יותר.
  • Webhook / ערוץ Telegram לריקולים חדשים (ערוצי הפצה מקבילים לפיד Atom שקיים כבר).

v1.0.0 - פדרציה

אופק ארוך: לאפשר לפורטלים של משרדים אחרים (רישום עסקים, נדל"ן, רישיונות בריאות) להתחבר לאותו UI shell. הסקופ תלוי ב-API-ים של הפורטלים ובביקוש משתמשים.


נגישות (a11y)

עבודה אופקית מתמשכת, נמדדת ברשימת בדיקות ולא בגרסה בודדת. יעד: WCAG 2.2 AA בכל דף שפורסם.

  • כל route ניתן לביקורת אוטומטית עם axe-core ב-CI, ללא ממצאים קריטיים שחוסמים מיזוג.
  • ניווט מלא במקלדת בכל האתר (Tab, Shift+Tab, Enter, Esc מחוברים ל-typeahead, לתפריט הנייד, למודלים).
  • תוויות לקורא-מסך על כל הכפתורים עם אייקון בלבד ורכיבים מותאמים.
  • מסגרות focus-visible בניגודיות >= 3:1 מול רקע הפאנל.
  • כיבוד העדפת reduced-motion (אנימציות תפריט + הודעות).
  • יעדי מגע 44x44 בכל אלמנט אינטראקטיבי (WCAG 2.5.5).
  • תקינות RTL מלאה (עברית): logical properties בכל מקום, נבדק ב-Safari, Chrome, ו-Firefox ב-iOS + Android.
  • קישור "דלגו לתוכן" למשתמשי מקלדת.
  • ערוץ בקשות פיצ'רים גם מחוץ ל-GitHub (nx1xlab.dev/contact) - בשביל משתמשים שמעדיפים לא להשתמש ב-GitHub Issues, מכיוון שחלק ממשוב הנגישות מגיע ממי שאין לו חשבון GitHub.

דחוי

  • style-src עם 'unsafe-inline' - נשמר כי הווידג'ט של Cloudflare Turnstile מזריק inline styles ב-runtime שאי אפשר להוסיף להם nonce. ה-script-src הוא nonce-only. נבדוק אם Turnstile יתמוך אי פעם ב-nonced styles.
  • תג "גרסה חדשה זמינה" - נשלח בכותרת כפולסר קטן. שיפורים נוספים (העדפת דחייה, תזמון) - דחויים עד שנראה קצב שחרור אמיתי.

לא נעשה

  • Authentication / חשבונות / מידע פרטי של משתמשים.
  • שמירת state פר-משתמש בצד שרת.
  • שמירת חיפושים / watchlist - דורש persistence פר-משתמש, מתנגש עם עמדת ה-no-accounts.
  • כל דבר שסותר את תנאי הרישיון הפתוח של data.gov.il.
  • Scraping ממקורות שאינם פתוחים (Yad2, אתרי יצרנים).

חובה לפני פרסום (ידני, ב-GitHub UI)

לפני שהופכים את הריפו לפומבי:

  1. Branch protection על main - PR נדרש, status checks (CI + CodeQL), היסטוריה לינארית, ללא force-push, ללא מחיקה.
  2. התקנת GitHub App של Renovate (בלי זה הקונפיג רדום).
  3. Secret scanning + push protection - Settings → Code security.
  4. הפעלת CodeQL default setup - Settings → Code security.
  5. Private vulnerability reporting - Settings → Code security.
  6. Tag protection על v* אחרי שקוצץ שחרור.
  7. Wiki / Projects שאינם בשימוש - לסגור.
  8. DNS: CNAME של opencar.nx1xlab.dev<project>.pages.dev.
  9. wrangler.toml: להדביק database_id אמיתי.
  10. סודות GH Actions: CF_API_TOKEN, CF_ACCOUNT_ID, CF_D1_DATABASE_ID, וכשמפעילים: TURNSTILE_SECRET, TURNSTILE_COOKIE_KEY, SENTRY_DSN.