منصوبے کے بارے میں

finPal ایک اوپن سورس، سیلف ہوسٹڈ پرسنل فنانس ایپلی کیشن ہے جسے اس کے برقرار رکھنے والوں نے "پرائیویسی فرسٹ فنانشل مینجمنٹ" کے طور پر بیان کیا ہے، جس میں کوئی ٹریکنگ، ڈیٹا کی فروخت اور سیلف ہوسٹڈ ایڈیشن کے لیے کوئی سبسکرپشن نہیں ہے۔ یہ پروجیکٹ AGPL-3.0 کے تحت شائع کیا گیا ہے، اور README میں واضح کیا گیا ہے کہ یہ فعال ترقی کے مرحلے میں ہے: فیچرز، APIs اور ڈیٹا بیس اسکیمہ اکثر تبدیل ہو رہے ہیں، اس لیے اپ گریڈ سے پہلے بیک اپ کی سفارش کی جاتی ہے۔ اس کا مقصد روزانہ کے اس سوال کا جواب دینا ہے کہ مہینے کے دوران پیسہ کہاں گیا۔ نمایاں خصوصیات: - خودکار کیٹیگریز اور ٹرانزیکشن رولز کے ساتھ اخراجات کی ٹریکنگ۔ - ریئل ٹائم ٹریکنگ اور الرٹس کے ساتھ بجٹ تاکہ ضرورت سے زیادہ خرچ کرنے سے پہلے اطلاع مل سکے۔ - گھر کے لیے مشترکہ اخراجات کی تقسیم، بشمول یہ کہ کس نے کس کے کتنے پیسے دینے ہیں۔ - پورٹ فولیوز میں سرمایہ کاری کی ٹریکنگ، جس میں قیمتوں کی خودکار اپ ڈیٹس شامل ہیں۔ - SimpleFin کے ذریعے بینک سنک، یا ایک واچڈ فولڈر سے CSV امپورٹ جو اسٹیٹمنٹس کو خود بخود امپورٹ کرتا ہے۔ - ملٹی کرنسی اور ملٹی اکاؤنٹ سپورٹ، اور ڈارک موڈ۔ - کریڈٹ کارڈ ریوارڈز کے لیے ایک اختیاری ماڈیول جسے pointsPal کہا جاتا ہے۔ - اسکرپٹس اور مقامی LLMs کے لیے پرسنل ایکسیس ٹوکنز۔ انسٹالیشن اور آپریشن: README میں Docker Compose کے ذریعے فوری آغاز کے لیے تین کمانڈز دی گئی ہیں: ریپوزٹری کو کلون کریں، .env فائل بنانے کے لیے scripts/setup-env.sh چلائیں، اور پھر docker compose up -d کریں۔ پہلے سے بنے ہوئے امیجز استعمال کیے جاتے ہیں، اس لیے مقامی طور پر کچھ بنانے کی ضرورت نہیں ہوتی۔ ڈیفالٹ پورٹ 80 ہے جسے .env میں HTTP_PORT کے ذریعے تبدیل کیا جا سکتا ہے۔ سائن اپ کرنے والا پہلا اکاؤنٹ ایڈمن بن جاتا ہے۔ سیٹ اپ اسکرپٹ حقیقی سیکرٹس تیار کرتا ہے، اور ایپلی کیشن .env.example میں دکھائے گئے change_me_* پلیس ہولڈر ویلیوز کے ساتھ شروع ہونے سے انکار کر دیتی ہے کیونکہ وہ عوامی طور پر دستیاب ہیں اور سیشنز بنانے کے لیے استعمال کیے جا سکتے ہیں۔ اپ گریڈز نئے امیجز ڈاؤن لوڈ کرنے اور ری اسٹارٹ کرنے سے کیے جاتے ہیں۔ اسکیمہ ہینڈلنگ ایک دستاویزی موضوع ہے: پہلے اسکیمہ بوٹ کے وقت ماڈلز سے بنایا جاتا تھا، جس سے میزے (tables) تو بن جاتے تھے لیکن موجودہ میزوں میں کالم نہیں جڑتے تھے۔ اب بوٹ خود بخود اسکیمہ کی مطابقت پیدا کرتا ہے، صرف اضافہ کرتا ہے، یعنی غائب ہونے والے nullable کالمز کو شامل کرتا ہے اور کالمز کی چوڑائی بڑھاتا ہے؛ یہ کبھی بھی کالمز کو ختم، ری نیم یا تبدیل نہیں کرتا۔ لاگو کیے گئے اسٹیٹمنٹس لاگ کیے جاتے ہیں اور انہیں docker logs finpal-backend کے ذریعے دیکھا جا سکتا ہے۔ خودکار مطابقت کو SCHEMA_AUTO_RECONCILE=false کے ذریعے بند کیا جا سکتا ہے، جس کے بعد ایک ریڈ اونلی اسکرپٹ، scripts/schema_drift.py، مطلوبہ اسٹیٹمنٹس فراہم کرتا ہے۔ دستاویزات اور کمیونٹی: ریپوزٹری میں انسٹالیشن، انوائرمنٹ ویری ایبلز، آرکیٹیکچر، سسٹم ریکوائرمنٹس، API ٹوکنز، CSV فولڈر امپورٹ، SimpleFin، pointsPal، ٹیسٹنگ اور لائسنسنگ کے لیے گائیڈز موجود ہیں۔ اس کے علاوہ ایک کنٹری بیوٹنگ گائیڈ ہے جس کے مطابق پل ریکویسٹ (pull requests) کے لیے دو palStack ڈویلپرز کی منظوری ضروری ہے، جس میں عام طور پر 24 سے 48 گھنٹے لگتے ہیں۔ بغیر انسٹالیشن کے ایک لائیو ڈیمو بھی دستیاب ہے۔ ہوسٹنگ اور روڈ میپ: سیلف ہوسٹنگ تمام فیچرز کے ساتھ ابھی دستیاب اور مفت ہے۔ سبسکرپشن پر مبنی مینجڈ ہوسٹنگ جلد آنے والی ہے۔ iOS اور Android کے لیے React Native موبائل ایپ فعال طور پر تیار کی جا رہی ہے، جس کا ہدف بائیومیٹرک لاگ ان اور آف لائن سنک ہے، جبکہ بیک اینڈ اور ویب UI آج دستیاب ہیں۔ finPal نے اپنے آغاز کا اعتراف قرض ٹریکر Dollar Dollar Bill Y'all کے طور پر کیا ہے۔ لائسنسنگ نوٹ: ایپلی کیشن کوڈ AGPL-3.0 ہے، جس کا مطلب ہے کہ اسے سیلف ہوسٹ، تبدیل اور شیئر کیا جا سکتا ہے؛ تبدیل شدہ ورژن کو نیٹ ورک سروس کے طور پر چلانے کی صورت میں تبدیلیوں کو شائع کرنے کی توقع کی جاتی ہے۔ مینجڈ ہوسٹنگ (finPal Premium) کو ایک علیحدہ ملکیتی پیشکش کے طور پر بیان کیا گیا ہے جو ریپوزٹری کی لائسنسنگ کو تبدیل نہیں کرتی۔