No description
  • TypeScript 93.9%
  • CSS 3.2%
  • JavaScript 2.6%
  • Shell 0.2%
  • HTML 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-06-11 00:39:46 +03:00
.cursor/rules Release 3.0.0 — workspace 2026-06-07 19:01:52 +03:00
.vscode Release v1.0.2: Electron, creamy UI, JSON backup, watch build 2026-05-04 22:48:06 +03:00
build Release 1.0.18 — شعار وأيقونة تطبيق وبناء AppImage بالأصول الجديدة 2026-05-06 11:36:26 +03:00
electron Release 4.6.0 — workspace 2026-06-11 00:09:35 +03:00
public Release 1.0.18 — شعار وأيقونة تطبيق وبناء AppImage بالأصول الجديدة 2026-05-06 11:36:26 +03:00
scripts Release 4.0.2 — workspace 2026-06-07 19:52:16 +03:00
src Release 4.9.0 — workspace 2026-06-11 00:39:46 +03:00
.gitignore Release 3.0.0 — workspace 2026-06-07 19:01:52 +03:00
.npmrc Release 1.0.13 — استقرار: مثيل واحد، إغلاق SQLite، busy_timeout، ErrorBoundary، npm overrides وengine-­strict 2026-05-05 23:05:34 +03:00
.nvmrc chore: استهداف Node 24 LTS (engines + .nvmrc) 2026-05-05 23:03:11 +03:00
index.html Release 1.0.20 — إصلاح مسار اللوجو مع file:// في Electron 2026-05-06 12:32:04 +03:00
package-lock.json Release 4.0.0 — workspace 2026-06-07 19:13:17 +03:00
package.json Release 4.9.0 — workspace 2026-06-11 00:39:46 +03:00
README.md Release 4.0.2 — workspace 2026-06-07 19:41:05 +03:00
tsconfig.json Release v1.0.2: Electron, creamy UI, JSON backup, watch build 2026-05-04 22:48:06 +03:00
tsconfig.node.json Release v1.0.2: Electron, creamy UI, JSON backup, watch build 2026-05-04 22:48:06 +03:00
vite.config.ts Release v1.0.2: Electron, creamy UI, JSON backup, watch build 2026-05-04 22:48:06 +03:00
vitest.config.ts Release 4.2.1 — workspace 2026-06-08 21:54:28 +03:00

Ishtarkati

Arabic desktop-only app to track online subscriptions, renewals, and multi-currency payments with QAR estimates. It does not run on phones or tablets; distribution is Linux AppImage (Electron + React + TypeScript + SQLite, local only, no backend). No .deb bundle.

Prerequisites (build machine)

You need Node.js (LTS 20+ recommended) and npm.

On minimal Linux distros, electron-builder may need xdg-utils (for xdg-open) when producing the AppImage. Example: sudo apt install xdg-utils on Debian/Ubuntu.

npm install

Development

npm run dev

Runs Vite + Electron in development mode.

Production build (Linux AppImage only)

npm run build

This runs TypeScript checking, Vite production build, then electron-builder with target AppImage only. Output directory:

  • release/Ishtarkati-1.0.0.AppImage (version follows package.json).

Run the AppImage:

chmod +x release/Ishtarkati-*.AppImage
./release/Ishtarkati-*.AppImage

If an old AppImage (before 4.0.1) prints libfuse.so.2 / FUSE errors, use the latest build or:

./scripts/run-appimage.sh
# or: APPIMAGE_EXTRACT_AND_RUN=1 ./release/Ishtarkati-*.AppImage

Emergency copy of your local database (before experiments):

./scripts/backup-user-db.sh

Machines that only run the AppImage do not need Node or a compiler toolchain.

Data

SQLite database ishtarkati.db is stored under the Electron userData directory for your OS user (not next to the AppImage). Copying the AppImage to another machine does not copy your subscriptions unless you also copy that database manually.

Versioning

كل مرة تشغّل إنتاج build (npm run build) يتم رفع رقم PATCH تلقائياً (مثلاً 1.0.01.0.1) وتحديث package.json وsrc/version.ts قبل التجميع، فيتطابق اسم الـ AppImage مع ما يظهر في التطبيق.

  • لتجاوز الرفع وإعادة تجهيز AppImage دون تغيير رقم الإصدار (مناسب للتكرار أثناء التطوير):
    npm run build:pack

بناء تلقائي عند كل حفظ للملفات المصدرية (مراقبة src/ وelectron/ ثم تشغيل build:pack بعد ثوانٍ من آخر تعديل):

npm run watch:build

يدويًا:

npm run version:bump -- patch   # or minor | major

Updates package.json and src/version.ts.


English (short): Build with npm run build; grab *.AppImage from release/. No Debian package is produced by design.