প্রকল্প সম্পর্কে
finPal হলো একটি ওপেন-সোর্স, সেলফ-হোস্টেড পার্সোনাল ফিন্যান্স অ্যাপ্লিকেশন যা এর রক্ষণাবেক্ষণকারীদের দ্বারা "প্রাইভেসী-ফার্স্ট ফিন্যান্সিয়াল ম্যানেজমেন্ট" হিসেবে বর্ণিত, যেখানে কোনো ট্র্যাকিং, ডেটা বিক্রি বা সেলফ-হোস্টেড সংস্করণের জন্য কোনো সাবস্ক্রিপশন নেই। প্রকল্পটি AGPL-3.0-এর অধীনে প্রকাশিত এবং এর README-তে স্পষ্টভাবে উল্লেখ করা হয়েছে যে এটি বর্তমানে সক্রিয় উন্নয়নের পর্যায়ে রয়েছে: ফিচার, API এবং ডেটাবেস স্কিমা ঘন ঘন পরিবর্তিত হচ্ছে, তাই আপগ্রেড করার আগে ব্যাকআপ রাখার পরামর্শ দেওয়া হয়েছে।
এটি মূলত প্রতি মাসে টাকা কোথায় খরচ হলো সেই দৈনন্দিন প্রশ্নের সমাধান করে।
এর বৈশিষ্ট্যসমূহ:
- অটো-ক্যাটেগরাইজেশন এবং ট্রানজ্যাকশন রুলস সহ খরচ ট্র্যাকিং।
- রিয়েল-টাইম ট্র্যাকিং এবং অ্যালার্ট সহ বাজেট ব্যবস্থা।
- পরিবারের জন্য খরচ ভাগ করে নেওয়ার ব্যবস্থা, যার মাধ্যমে জানা যায় কে কার কাছে কত ঋণী।
- পোর্টফোলিও জুড়ে ইনভেস্টমেন্ট ট্র্যাকিং এবং স্বয়ংক্রিয় মূল্য আপডেট।
- SimpleFin-এর মাধ্যমে ব্যাংক সিঙ্ক, অথবা একটি নির্দিষ্ট ফোল্ডার থেকে CSV ইমপোর্ট যা স্বয়ংক্রিয়ভাবে স্টেটমেন্ট ইমপোর্ট করে।
- মাল্টি-কারেন্সি এবং মাল্টি-অ্যাকাউন্ট সাপোর্ট এবং ডার্ক মোড।
- pointsPal নামক একটি ঐচ্ছিক ক্রেডিট-কার্ড রিওয়ার্ডস মডিউল।
- স্ক্রিপ্ট এবং লোকাল LLM-এর জন্য পার্সোনাল অ্যাক্সেস টোকেন।
ইনস্টলেশন এবং পরিচালনা:
README-তে তিনটি কমান্ডের মাধ্যমে Docker Compose কুইক স্টার্ট দেওয়া হয়েছে: রিপোজিটরি ক্লোন করা, সিক্রেটসহ .env ফাইল তৈরি করতে scripts/setup-env.sh চালানো এবং তারপর docker compose up -d চালানো। প্রি-বিল্ট ইমেজ ব্যবহার করা হয়, তাই লোকালি কিছু বিল্ড করতে হয় না। ডিফল্ট পোর্ট হলো 80, যা .env ফাইলে HTTP_PORT দিয়ে পরিবর্তন করা যায়। প্রথম যে অ্যাকাউন্টটি সাইন-আপ করবে সে অ্যাডমিন হবে। সেটআপ স্ক্রিপ্টটি প্রকৃত সিক্রেট তৈরি করে এবং অ্যাপ্লিকেশনটি .env.example-এ দেখানো change_me_* প্লেসহোল্ডার ভ্যালু দিয়ে চালু হতে অস্বীকার করে, কারণ সেগুলো পাবলিক এবং সেশন জাল করতে ব্যবহৃত হতে পারে।
নতুন ইমেজ পুল এবং রিস্টার্ট করার মাধ্যমে আপগ্রেড করা হয়। স্কিমা হ্যান্ডলিং একটি নথিভুক্ত বিষয়: আগে বুট করার সময় মডেল থেকে স্কিমা তৈরি হতো, যা মিসিং টেবিল তৈরি করলেও বিদ্যমান টেবিলে কলাম যোগ করত না। এখন বুট প্রক্রিয়াটি স্বয়ংক্রিয়ভাবে এবং শুধুমাত্র অ্যাডitively স্কিমা সমন্বয় করে; এটি মিসিং নলেবল কলাম যোগ করে এবং মডেলের প্রত্যাশার চেয়ে ছোট কলামগুলোকে প্রশস্ত করে; এটি কখনোই ড্রপ, রিনেম বা টাইপ পরিবর্তন করে না। প্রয়োগ করা স্টেটমেন্টগুলো লগ করা হয় এবং docker logs finpal-backend দিয়ে দেখা যায়। SCHEMA_AUTO_RECONCILE=false দিয়ে স্বয়ংক্রিয় সমন্বয় বন্ধ করা যায়, যার পর scripts/schema_drift.py স্ক্রিপ্টটি প্রয়োজনীয় স্টেটমেন্টগুলো প্রিন্ট করে। ব্যতিক্রম হলো ডিফল্ট ছাড়া NOT NULL কলাম, যা পপুলেটেড টেবিলে যোগ করা যায় না এবং ব্যাকফিল মাইগ্রেশনের জন্য রাখা হয়।
ডকুমেন্টেশন এবং কমিউনিটি:
রিপোজিটরিতে ইনস্টলেশন, এনভায়রনমেন্ট ভেরিয়েবল, আর্কিটেকচার, সিস্টেম রিকোয়ারমেন্টস, API টোকেন, CSV ফোল্ডার ইমপোর্ট, SimpleFin, pointsPal, টেস্টিং এবং লাইসেন্সিং-এর গাইড দেওয়া আছে। এছাড়া একটি কন্ট্রিবিউটিং গাইড রয়েছে যেখানে বলা হয়েছে পুল রিকোয়েস্টের জন্য দুইজন palStack ডেভেলপারের অনুমোদনের প্রয়োজন এবং রিভিউ সাধারণত ২৪ থেকে ৪৮ ঘণ্টা সময় নেয়। ইনস্টলেশন ছাড়াই একটি লাইভ ডেমো উপলব্ধ রয়েছে।
হোস্টিং এবং রোডম্যাপ:
সেলফ-হোস্টিং বর্তমানে সম্পূর্ণ ফিচারসহ বিনামূল্যে উপলব্ধ। সাবস্ক্রিপশনের জন্য ম্যানেজড হোস্টিং শীঘ্রই আসছে। iOS এবং Android-এর জন্য একটি React Native মোবাইল অ্যাপ সক্রিয়ভাবে তৈরি করা হচ্ছে, যার লক্ষ্য বায়োমেট্রিক লগইন এবং অফলাইন সিঙ্ক। ব্যাকএন্ড এবং ওয়েব UI বর্তমানে প্রস্তুত। finPal স্বীকার করেছে যে এর উৎস হলো ডেট ট্র্যাকার Dollar Dollar Bill Y'all।
লাইসেন্সিং নোট:
অ্যাপ্লিকেশন কোডটি AGPL-3.0, যার অর্থ এটি সেলফ-হোস্ট, মডিফাই এবং শেয়ার করা যেতে পারে; তবে মডিফাইড সংস্করণটি নেটওয়ার্ক সার্ভিস হিসেবে চালালে পরিবর্তনগুলো প্রকাশ করার প্রত্যাশা থাকে। ম্যানেজড হোস্টিং (finPal Premium) একটি আলাদা প্রোপাইটারি অফার হিসেবে বর্ণিত যা রিপোজিটরির লাইসেন্সিং পরিবর্তন করে না।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.