इस प्रोजेक्ट के बारे में
finPal एक ओपन-सोर्स, self-hosted पर्सनल फाइनेंस एप्लिकेशन है जिसे इसके मेंटेनर्स द्वारा "प्राइवेसी-फर्स्ट फाइनेंशियल मैनेजमेंट" के रूप में वर्णित किया गया है, जिसमें कोई ट्रैकिंग, डेटा बिक्री या self-hosted संस्करण के लिए कोई सब्सक्रिप्शन नहीं है। यह प्रोजेक्ट AGPL-3.0 के तहत प्रकाशित है, और README में स्पष्ट है कि यह सक्रिय विकास के चरण में है: फीचर्स, APIs और डेटाबेस स्कीमा अक्सर बदलते रहते हैं, इसलिए अपग्रेड से पहले बैकअप की सलाह दी जाती है।
यह एप्लिकेशन इस बुनियादी सवाल पर केंद्रित है कि महीने के दौरान पैसा कहाँ गया।
प्रमुख विशेषताएँ:
- ऑटो-कैटेगराइजेशन और ट्रांजेक्शन नियमों के साथ खर्च ट्रैकिंग।
- रियल-टाइम ट्रैकिंग और अलर्ट के साथ बजट, ताकि ओवरस्पेंडिंग से बचा जा सके।
- घर के लिए साझा लागत विभाजन (shared-cost splitting), जिसमें यह ट्रैक होता है कि किसे किसे कितना देना है।
- पोर्टफोलियो के माध्यम से निवेश ट्रैकिंग, जिसमें स्वचालित मूल्य अपडेट शामिल हैं।
- SimpleFin के माध्यम से बैंक सिंक, या एक वॉचड फोल्डर से CSV इम्पोर्ट जो स्टेटमेंट को स्वचालित रूप से इम्पोर्ट करता है।
- मल्टी-करेंसी और मल्टी-अकाउंट सपोर्ट, साथ ही डार्क मोड।
- pointsPal नामक एक वैकल्पिक क्रेडिट-कार्ड रिवॉर्ड मॉड्यूल।
- स्क्रिप्ट और लोकल LLMs के लिए पर्सनल एक्सेस टोकन।
इंस्टॉलेशन और संचालन:
README में तीन-कमांड वाला Docker Compose क्विक स्टार्ट दिया गया है: रिपॉजिटरी को क्लोन करें, जेनरेटेड सीक्रेट्स के साथ .env लिखने के लिए scripts/setup-env.sh चलाएं, और फिर docker compose up -d करें। प्री-बिल्ट इमेजेस का उपयोग किया जाता है। डिफॉल्ट पोर्ट 80 है जिसे .env में HTTP_PORT के माध्यम से बदला जा सकता है। साइन अप करने वाला पहला अकाउंट एडमिन बन जाता है। सेटअप स्क्रिप्ट वास्तविक सीक्रेट्स जेनरेट करती है, और एप्लिकेशन .env.example में दिखाए गए change_me_* प्लेसहोल्डर मानों के साथ शुरू होने से इनकार कर देता है, क्योंकि वे रिपॉजिटरी में सार्वजनिक हैं और सत्रों (sessions) को फर्जी बनाने के लिए उपयोग किए जा सकते हैं।
अपग्रेड नई इमेजेस को पुल करने और रीस्टार्ट करने से होते हैं। स्कीमा हैंडलिंग एक प्रलेखित विषय है: पहले स्कीमा बूट पर मॉडल से बनाया जाता था, जिससे टेबल तो बन जाती थीं लेकिन मौजूदा टेबल में कॉलम नहीं जुड़ते थे। अब बूट स्वचालित रूप से स्कीमा का मिलान (reconcile) करता है, केवल एडिटिव तरीके से, यानी गायब न्यूलेबल कॉलम जोड़ता है और कॉलम की चौड़ाई बढ़ाता है; यह कभी भी ड्रॉप, रीनेम या रीटाइप नहीं करता है। लागू किए गए स्टेटमेंट्स लॉग किए जाते हैं और उन्हें docker logs finpal-backend से देखा जा सकता है। स्वचालित मिलान को SCHEMA_AUTO_RECONCILE=false के साथ अक्षम किया जा सकता है, जिसके बाद scripts/schema_drift.py स्क्रिप्ट आवश्यक स्टेटमेंट्स प्रिंट करती है। अपवाद एक NOT NULL कॉलम है जिसमें डिफॉल्ट मान नहीं है, जिसे पॉप्युलेटेड टेबल में नहीं जोड़ा जा सकता और इसे बैकफिल के साथ माइग्रेशन के लिए छोड़ दिया जाता है।
दस्तावेज़ीकरण और समुदाय:
रिपॉजिटरी में इंस्टॉलेशन, एनवायरनमेंट वेरिएबल्स, आर्किटेक्चर, सिस्टम आवश्यकताएं, API टोकन, CSV फोल्डर इम्पोर्ट, SimpleFin, pointsPal, टेस्टिंग और लाइसेंसिंग के लिए गाइड दिए गए हैं। एक कॉन्ट्रिब्यूटिंग गाइड भी है जिसमें कहा गया है कि पुल रिक्वेस्ट के लिए दो palStack डेवलपर्स की मंजूरी आवश्यक है, जिसमें आमतौर पर 24 से 48 घंटे लगते हैं। बिना इंस्टॉलेशन के एक लाइव डेमो उपलब्ध है।
होस्टिंग और रोडमैप:
Self-hosting अभी उपलब्ध है और पूरी तरह से मुफ्त है। सब्सक्रिप्शन के लिए मैनेज्ड होस्टिंग जल्द ही आने वाली है। iOS और Android के लिए एक React Native मोबाइल ऐप सक्रिय विकास में है, जिसका लक्ष्य बायोमेट्रिक लॉगिन और ऑफलाइन सिंक है, जबकि बैकएंड और वेब UI आज तैयार हैं। finPal ने अपनी उत्पत्ति डेट ट्रैकर Dollar Dollar Bill Y'all में स्वीकार किया है।
लाइसेंसिंग नोट:
एप्लिकेशन कोड AGPL-3.0 है, जिसका अर्थ है कि इसे self-host, संशोधित और साझा किया जा सकता है; संशोधित संस्करण को नेटवर्क सेवा के रूप में चलाने पर परिवर्तनों को प्रकाशित करने की अपेक्षा होती है। मैनेज्ड होस्टिंग (finPal Premium) को एक अलग प्रोप्रायटरी पेशकश के रूप में वर्णित किया गया है जो रिपॉजिटरी के लाइसेंसिंग को नहीं बदलता है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.