الميزات
ما يفعله Financy اليوم، وما يأتي بعد ذلك
يُعاد بناء Financy من جديد. ما يعمل اليوم: الحسابات بأي عملة، والأساس الذي تقوم عليه: تسجيل الدخول، والوصول المشترك بالأدوار، والتحديثات الفورية، وتطبيق يعمل دون اتصال، والتصدير، وتسع لغات، وخادمك الخاص. يربط كل قسم بشيفرته.
بقلم Anton Shubinآخر تحديث
المعاملات والميزانيات لم تُبنَ بعد. اطّلع على مرحلة إعادة البناء.
يعمل اليوم
الأساس الذي ستقوم عليه أموال أسرتك
هذه الأجزاء تعمل وتُختبر في CI. الحسابات بأي عملة وفئاتها موجودة الآن، والمعاملات تأتي بعدها.
يعمل اليومتسجيل الدخول عبر Google وGitHub يحتاج مفاتيح خاصة بالخادم، لذا تبدأ النسخة المثبّتة حديثًا بتسجيل الدخول بالبريد الإلكتروني فقط.
كل حساب بعملته
النقد والحسابات البنكية والبطاقات والمدخرات والأصول والديون، كلٌّ بعملته، مجمّعة حسب النوع، مع حساب افتراضي واحد. ترى الأسرة كلها أي تغيير فورًا.
للمطورين
- يحسب الخادم كل رصيد عند قراءته ولا يخزّنه أبدًا، فلا يمكن أن ينحرف
- المبالغ أعداد صحيحة بأصغر وحدة في العملة: الين بلا كسور، والدينار بثلاث خانات
- يرى المشاهد الحسابات، ولا يغيّرها إلا المحرر فما فوق، ويتحقق الخادم من ذلك
فئات بمستوى واحد
رتّب المصروفات والدخل في فئات، لكل منها أيقونة ولون. ضع البقالة والأكل خارج المنزل تحت الطعام. تبدأ الأسرة الجديدة بقائمة قصيرة بلغتها.
للمطورين
- لا تُحذف الفئة أبدًا: الأرشفة تخفيها من قوائم الاختيار، وتحتفظ بها قيودها السابقة
- للفئة الفرعية نوع فئتها الأم، ولا يمكن أن تكون للفئة الأم فئة أم، ويتحقق الخادم من ذلك
- يقرأ المشاهد الفئات؛ ولا يغيّرها إلا المحرر فما فوق
تسجيل الدخول، جاهز
تنشئ حسابًا ببريد إلكتروني وكلمة مرور وتؤكد البريد برمز. ويمكنك إعادة تعيين كلمة مرور منسية، أو المتابعة عبر Google أو GitHub، أو تسجيل الدخول بمفتاح مرور أو برمز يصلك بالبريد. ويضيف تطبيق المصادقة التحقق بخطوتين (2FA)، وترى كل جهاز سجّلت الدخول منه وتستطيع تسجيل الخروج من الأجهزة الأخرى.
للمطورين
- كلمات المرور مُجزّأة بخوارزمية PBKDF2-SHA-256 عبر Web Crypto، بـ600,000 دورة افتراضيًا
- ملفات تعريف ارتباط موقّعة للجلسات، وسجل تدقيق لكل حدث تسجيل دخول
- رموز API مميزة شخصية، لا تُخزَّن إلا كقيم مُجزّأة بمفتاح
أسرة واحدة، ولكل شخص تسجيل دخوله الخاص
الأسرة (مجموعة في التطبيق) هي الأشخاص الذين يتشاركون المال. ادعُ شريكك أو عائلتك، وامنح كلًّا منهم دورًا من القارئ إلى المالك، وانقل الملكية عند الحاجة. يمكن استعادة الأسرة المحذوفة خلال 30 يومًا، ويُظهر سجل النشاط من غيّر ماذا.
للمطورين
- الأسرة هي الحدّ الوحيد الذي تُفحص على أساسه كل البيانات
- يرى كل شخص الأُسر التي ينتمي إليها فقط
- الدعوات وتغيير الأدوار ونقل الملكية، ولكلٍّ منها اختباراته
تظهر التغييرات على كل جهاز دون إعادة تحميل
حين يغيّر أحد أفراد الأسرة شيئًا، يراه الآخرون فورًا على كل جهاز مفتوح. والحاسوب المحمول الذي يخرج من وضع السكون يجلب ما فاته.
للمطورين
- WebSocket قياسي، برقم تسلسلي على كل تغيير
- الجهاز الذي يعيد الاتصال يجلب ما فاته
تطبيق يفتح دون شبكة
ثبّت Financy على هاتفك أو حاسوبك، فيفتح دون اتصال ويعرض آخر ما رآه.
للمطورين
- نسخة محلية من كل قائمة في IndexedDB، وطابور كتابة بمفاتيح عدم التكرار
- «احتفظ بنسختي» أو «استخدم نسخة الخادم» لكل تعارض
بياناتك ترحل معك
يستطيع المالك تصدير الأسرة إلى ملف JSON مفتوح في أي وقت، واستيراده لاحقًا كأسرة جديدة. لا يكتب الاستيراد فوق الأصل أبدًا.
للمطورين
- يُفحص الملف كله قبل كتابة أي شيء، ثم يُستورد في خطوة واحدة
- يحصل كل سجل على معرّف جديد، فلا يتعارض الاستيراد أبدًا مع ما هو موجود
بتسع لغات
يتحدث التطبيق وهذا الموقع الإنجليزية والروسية والإسبانية والألمانية والبرتغالية البرازيلية والعربية والفرنسية واليابانية والصينية المبسطة. يختار كل شخص لغته في التطبيق، فيمكن للأسرة استخدام أكثر من لغة.
للمطورين
- فهرس واحد لكل لغة، يفحصه اختبار يسمّي كل رسالة ناقصة
- الأرقام والتواريخ عبر Intl المدمج في المتصفح
- الصفحات العربية تُقرأ من اليمين إلى اليسار
يعمل على خادمك الخاص
يعمل Financy على أي خادم Linux تستأجره أو تملكه، باستخدام Docker Compose. الاستضافة الذاتية مجانية بموجب رخصة AGPL‑3.0، وتبقى بيانات أسرتك على خادمك.
للمطورين
- Traefik في الواجهة، مع شهادات تلقائية
- Postgres وValkey بجانب التطبيقات
- المقاييس والسجلات والتنبيهات عبر VictoriaMetrics وVictoriaLogs وGrafana
- نسخة احتياطية يومية مشفّرة اختيارية لقاعدة البيانات، مع خطوات استعادة مكتوبة
- Traefik
- Postgres
- Valkey
- VictoriaMetrics
- VictoriaLogs
- Grafana
- Alertmanager
- Garage file store
- restic backups
أسئلة
هل يستطيع Financy ذلك؟
هل يمكنني تشغيل Financy على استضافة مشتركة أو منصة بلا خوادم (serverless)؟
لا. يعمل Financy كحاويات دائمة باستخدام Docker Compose على خادم Linux واحد، لأن الواجهة البرمجية تُبقي اتصالات WebSocket مفتوحة ويعالج عامل في الخلفية قائمة انتظار.
ما قاعدة البيانات التي يستخدمها Financy؟
Postgres. تعتمد عليها عمليات الترحيل والاستعلامات واختبارات التكامل.
هل يوجد تطبيق للهاتف؟
ليس في المتاجر بعد. اليوم يُثبَّت تطبيق الويب من المتصفح على الهواتف والحواسيب ويفتح دون اتصال.