HeadlinesBriefing favicon HeadlinesBriefing.com

कैप्सूल: SQLite सिंगल-फाइल वेब ऐप्स

Hacker News •
×

Hey HN, मुझे हमेशा यह समस्या रही है कि HTML पेज बनाना सरल है, लेकिन डेटा सेव करने के लिए इसे कहीं होस्ट करना पड़ता था और शेयर करना आसान नहीं था। पिछले कुछ महीनों में, मैं कैप्सूल नामक एक ऐप बना रहा हूँ (यह फाइल एक्सटेंशन का नाम भी है) जो Rust में Tauri 2.0 के साथ लिखी गई है और जो HTML ऐप और उसके डेटा को एक ही SQLite फाइल में पैक करने की अनुमति देती है। HTML फाइल और कोई भी संबंधित एसेट्स सीधे डेटाबेस में एम्बेडेड होते हैं। यूजर डेटा को या तो localStorage की-वैल्यू स्टोर के रूप में सेव किया जा सकता है या मोंगोडीबी-प्रेरित कलेक्शन API के माध्यम से डॉक्यूमेंट्स के रूप में, जो फाइल में एक टेबल में सेव होते हैं। आप अन्य एसेट्स, जैसे PDF फाइलें या इमेज, सीधे डेटाबेस में भी सेव कर सकते हैं ताकि अलग-अलग डॉक्यूमेंट्स एक साथ रहें। यदि आवश्यक हो तो सभी डेटा को आसानी से CSV या JSON में एक्सपोर्ट किया जा सकता है। गोपनीयता और सुरक्षा एक बड़ी प्राथमिकता थी, इसलिए डॉक्यूमेंट्स बॉक्स से बाहर कुछ भी नहीं कर सकते। उनके पास फाइल सिस्टम तक सीधी पहुंच नहीं है और इंटरनेट एक्सेस करने के लिए परमिशन की आवश्यकता होती है। परमिशन मॉडल अभी भी कुछ ऐसा है जिसे मैं सुधारने पर काम कर रहा हूँ। कैप्सूल डॉक्यूमेंट्स डॉक्यूमेंट-स्पेसिफिक AI फीचर्स के लिए लोकल या रिमोट AI मॉडल्स का भी उपयोग कर सकते हैं। इस दृष्टिकोण का एक नुकसान यह है कि इस पर काम करने वाले कई लोग अलग-अलग कॉपी बनाएंगे। उसी फाइल की अलग-अलग कॉपी को मर्ज करना संभव बनाने के लिए, प्रत्येक डेटा एंट्री का एक यूनिक UUID और टाइमस्टैम्प होता है। मैं ऐप के 1.0 वर्जन के लिए फाइल फॉर्मेट स्पेसिफिकेशन को खोलने की योजना बना रहा हूँ ताकि अन्य ऐप्स कैप्सूल फाइल्स को पढ़ या लिख सकें। आप इसे https://withcapsule.app/preview पर वेब प्रीव्यू में प्री-बिल्ट टेम्प्लेट्स के साथ आज़मा सकते हैं या अपनी पसंद के किसी भी AI प्रोवाइडर का उपयोग करके एक कस्टम, कैप्सूल-ऑप्टिमाइज़्ड ऐप बना सकते हैं। मैं अभी भी फाइल फॉर्मेट पर काम कर रहा हूँ लेकिन प्रत्येक नए वर्जन के लिए माइग्रेशन हैं, इसलिए भविष्य में ऐप के नए वर्जन का उपयोग करते समय डेटा कभी खोना नहीं चाहिए।