Skip to content

Repository files navigation

מחשבון שיעורי חז״ל

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

⚠️ לעיון ולימוד בלבד — לא להוראת הלכה. שיעורים שנויים במחלוקת טעונים אישור רב.

מצב הפרויקט

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

האפיון המלא ונתוני המחקר: docs/SPEC.md.

ארכיטקטורה

  • engine/ — Kotlin טהור, ללא תלות באנדרואיד (לכן נבדק ב-JVM):
    • Fraction — רציונלי מדויק על BigInteger (ללא נקודה צפה → אין שגיאות עיגול בפירוק).
    • ConvertertoBase/fromBase/convert/decompose + ערכים מטריים.
    • ExpressionEvaluator+ - * / וסוגריים על שברים מדויקים.
    • UnitExpressionParser — תרגום ביטוי טקסטואלי ממקלדת המכשיר ליחידות המנוע.
    • PracticalShiurim — רשימת שיעורים מוכנים וחישוב ערכים לפי הגדרות המשתמש.
    • HebrewFormat — שברים נאים (½⅓¼), ריבוי שמות, פירוק לטקסט.
  • model/Category, Shita, HalachicUnit, ו-MeasurementData (מקור אמת יחיד: יחסים קבועים + עוגנים מטריים לכל שיטה).
  • data/SettingsRepository (DataStore).
  • ui/ — Compose (RTL מאולץ), CalcViewModel, מסכים.

בנייה

./gradlew :app:testDebugUnitTest      # מבחני המנוע
./gradlew :app:assembleDebug          # APK לבדיקה
./gradlew :app:assembleRelease        # APK release (דורש keystore.properties לחתימה)

טולצ'יין: Gradle 8.13 · AGP 8.8.0 · Kotlin 2.0.21 · compileSdk/targetSdk 35 · minSdk 24 · JDK 17.

העלאה ל-Google Play

מדריך מלא עם כל שדות החנות וטופס בטיחות הנתונים: docs/PLAY_STORE.md. מדיניות הפרטיות: PRIVACY.md · גרסת אינטרנט: docs/index.html.

  1. צור מפתח חתימה והעתק keystore.properties.examplekeystore.properties (לא בגיט).
  2. ./gradlew :app:bundleRelease ליצירת .aab חתום (Google Play דורש AAB, לא APK).
  3. אייקון חנות 512×512: docs/play_icon_512.png.
  4. targetSdk 35 עומד בדרישת Play; אין הרשאות מסוכנות (רק INTERNET אופציונלי).
  5. שם החבילה: com.aviv.shiurim.

מדיניות פרטיות בכתובת ציבורית (GitHub Pages)

Google Play מחייב קישור למדיניות פרטיות. הקובץ docs/index.html מוכן לאירוח: ב-GitHub → Settings → Pages → בחר Branch: main, Folder: /docs → שמור. הכתובת שתתקבל: https://613avi.github.io/shiurim-calculator/.

About

מחשבון שיעורי חז״ל — Android (Kotlin/Compose) calculator & converter for halachic measurements

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages