HeadlinesBriefing favicon HeadlinesBriefing.com

ক্যাপসুল: SQLite সিঙ্গেল-ফাইল ওয়েব অ্যাপ

Hacker News •
×

Hey HN, আমার সবসময় একটি সমস্যা ছিল যে HTML পেজ তৈরি করা সহজ, কিন্তু ডেটা সংরক্ষণ করার জন্য এটি কোথাও হোস্ট করতে হতো এবং শেয়ার করা সহজ ছিল না। গত কয়েক মাসে, আমি ক্যাপসুল নামক একটি অ্যাপ তৈরি করছি (এটি ফাইল এক্সটেনশনের নামও) যা Rust-এ Tauri 2.0-এ লেখা হয়েছে এবং যা একটি HTML অ্যাপ এবং এর ডেটাকে একক SQLite ফাইলে প্যাক করার অনুমতি দেয়। HTML ফাইল এবং যেকোনো সম্পর্কিত অ্যাসেট সরাসরি ডেটাবেসে এম্বেড করা থাকে। ব্যবহারকারীর ডেটা হয় localStorage কী/মান স্টোর হিসাবে সংরক্ষণ করা যেতে পারে বা MongoDB-অনুপ্রাণিত কালেকশন API-এর মাধ্যমে ডকুমেন্ট হিসাবে, যা ফাইলে একটি টেবিলে সংরক্ষিত হয়। আপনি অন্যান্য অ্যাসেটও, যেমন PDF ফাইল বা ছবি, সরাসরি ডেটাবেসে সংরক্ষণ করতে পারেন যাতে বিভিন্ন ডকুমেন্ট একসাথে থাকে। প্রয়োজনে সমস্ত ডেটা সহজে CSV বা JSON-এ এক্সপোর্ট করা যেতে পারে। গোপনীয়তা এবং নিরাপত্তা একটি বড় অগ্রাধিকার ছিল, তাই ডকুমেন্টগুলি বক্সের বাইরে কিছুই করতে পারে না। তাদের ফাইল সিস্টেমে সরাসরি অ্যাক্সেস নেই এবং ইন্টারনেট অ্যাক্সেস করার জন্য অনুমতির প্রয়োজন হয়। অনুমতি মডেল এখনও এমন কিছু যা আমি উন্নত করার জন্য কাজ করছি। ক্যাপসুল ডকুমেন্টগুলি ডকুমেন্ট-নির্দিষ্ট AI ফিচারের জন্য লোকাল বা রিমোট AI মডেলও ব্যবহার করতে পারে। এই পদ্ধতির একটি অসুবিধা হল যে একাধিক লোক এইর কাজ করলে ভিন্ন কপি তৈরি হবে। একই ফাইলের ভিন্ন কপি মার্জ করা সম্ভব बनाने জন্য, প্রতিটি ডেটা এন্ট্রির একটি অনন্য UUID এবং টাইমস্ট্যাম্প রয়েছে। আমি অ্যাপের 1.0 সংস্করণের জন্য ফাইল ফরম্যাট স্পেসিফিকেশন খোলার পরিকল্পনা করছি যাতে অন্যান্য অ্যাপ ক্যাপসুল ফাইল পড়তে বা লিখতে পারে। আপনি এটি https://withcapsule.app/preview-এ ওয়েব প্রিভিউতে প্রি-বিল্ট টেমপ্লেটের সাথে বা আপনার পছন্দের যেকোনো AI প্রোভাইডার ব্যবহার করে একটি কাস্টম, ক্যাপসুল-অপ্টিমাইজড অ্যাপ তৈরি করে ব্যবহার করে দেখতে পারেন। আমি এখনও ফাইল ফরম্যাটে কাজ করছি কিন্তু প্রতিটি নতুন সংস্করণের জন্য মাইগ্রেশন রয়েছে, তাই ভবিষ্যতে অ্যাপের নতুন সংস্করণ ব্যবহার করার সময় ডেটা কখনো হারানো উচিত নয়।