Skip to content

Contributing

Your Name edited this page Oct 27, 2026 · 1 revision

תרומה לפרויקט

תודה על הרצון לתרום! יש כמה דרכים לעזור.


דיווח באגים ובקשות פיצ'ר

פתחו Issue ב-GitHub.

כשמדווחים על באג, כדאי לכלול:

  • גרסת האפליקציה (תפריט ← "עדכונים" ← כרטיס גרסת התוכנה)
  • Windows 10 / Windows 11
  • מה עשיתם, מה ציפיתם לקבל, ומה קרה בפועל
  • צילום מסך אם רלוונטי

שיפור הנתונים – OpenStreetMap

הנתונים (מפה, רחובות, נקודות עניין, שבילים) מגיעים מ-OpenStreetMap. שינוי ב-OSM יגיע לאפליקציה בעדכון השבועי הבא.

איך לתרום:

  1. נרשמים ב-openstreetmap.org
  2. עורכים את המפה ישירות – הוספת עסקים, תיקון כתובות, עדכון שעות פתיחה
  3. שינויים מאושרים מגיעים לאפליקציה אוטומטית

פיתוח קוד

דרישות

pip install -r requirements-dev.txt
python -m playwright install chromium

הרצה מקומית על נתוני הדגמה

python tools/sample_data.py data/sample-src
python -m hmaps.etl from-geojson --poi data/sample-src/poi.geojsonseq --streets data/sample-src/streets.geojsonseq --out data/maps.db
uvicorn hmaps.api.app:app --reload --port 8080

לתצוגת המפה נדרשים קבצי web/vendor/. הם נוצרים אוטומטית בבניית Docker.

בדיקות

:: יחידה, ETL, API, ניווט, native, terrain, אייקונים
python -m unittest tests.test_core tests.test_etl tests.test_api tests.test_router tests.test_native tests.test_terrain tests.test_icons

:: דפדפן, נגישות, סגנון מפה (Playwright)
python -m unittest tests.e2e.test_ui

:: ביצועים בקנה מידה ארצי (120,000 POI)
python -m tests.perf_bench 120000

98 בדיקות אוטומטיות, בחמישה סוגים:

סוג קובץ מה נבדק
יחידה tests/test_core.py נרמול עברית, קיצורים, קטגוריות, שעות פתיחה, תיקון שגיאות, ניגודיות צבעים
אינטגרציה tests/test_etl.py צינור הנתונים: סינון, כפילויות, שיוך ערים, אינדקס
API tests/test_api.py כל נקודות הקצה, קודי שגיאה, אבטחה, אריחים, ניווט
דפדפן tests/e2e/test_ui.py תרחישי משתמש, נגישות, כל שכבות הסגנון, צילומי מסך
ביצועים tests/perf_bench.py זמני תגובה בקנה מידה ארצי

אפליקציית שולחן העבודה (Tauri / Rust)

cd src-tauri
cargo build
:: Linux: apt-get install libwebkit2gtk-4.1-dev libgtk-3-dev
set HMAPS_URL=http://127.0.0.1:8080/desktop.html
.\target\debug\hebrew-maps-desktop

את מעטפת הלשוניות אפשר לפתוח גם בדפדפן רגיל: http://localhost:8080/desktop.html

אייקונים

נוצרים מקומית מ-web/icons/icon.svg:

pip install -r requirements-icons.txt
python tools/make_icons.py          # --check: רק בדיקה

CI/CD

  • הקובץ ci/github-actions.yml מריץ את כל הבדיקות ובונה את האימג'
  • כדי להפעילו ב-GitHub: העתיקו אותו ל-.github/workflows/ci.yml
  • חבילות הנתונים השבועיות: .github/workflows/weekly-data.yml
  • בניית המתקין: .github/workflows/installer.yml

בדיקת האתר לפני push

python tools/check_site.py site             :: קישורים, עוגנים, alt, כותרות
npx --yes html-validate site/*.html
cd site && python -m http.server 8000       :: http://localhost:8000/

פרסום גרסה

  1. כתבו הערות גרסה ב-docs/release-notes/v1.2.0.md (שורת #, שורת date:, נקודות -)
  2. עדכנו את מספר הגרסה:
    python tools/set_version.py 1.2.0   :: --check לבדיקה
  3. בנו changelog ודחפו:
    python tools/build_changelog.py
    git add docs/release-notes site/changelog.html
    git commit -m "release notes v1.2.0"
    git push
    git tag -a v1.2.0 -m "גרסה 1.2.0"
    git push origin v1.2.0

רישיון

קוד הפרויקט – לקבוע (ראו שאלה פתוחה).

נתוני המקורות החיצוניים מחייבים ייחוס – ראו מקורות ורישוי ב-README.

Clone this wiki locally