عن المشروع

Intrakill (InternalStorageOverkill) هو تطبيق تخزين وسائط محلي مشفّر مكتوب بـ Kotlin Multiplatform. يستهدف سطح مكتب JVM وAndroid؛ ولا يدعم iOS. يشير المؤلف إلى أنه الأنسب لمرفقات الوسائط المجمّعة مثل المانغا والقصص المصورة. نموذج البيانات والتخزين - التخزين عبارة عن قائمة إدخالات؛ ولكل إدخال اسم ومرفقات ووسوم. - قاعدة البيانات عبارة عن ملف SQLite مشفّر بـ SQLCipher باسم secured.db. - مسار سطح المكتب: ‎~/.Intrakill/databases/secured.db‎ (في Windows: ‎c:\Users\%username%\.Intrakill\databases\secured.db‎). - مسار Android: ‎context.getDatabasePath("secured.db")‎، وتديره نظام التشغيل. - التطبيق مخصص أساسًا للصور والفيديو. الاستيراد/التصدير - يمكن لنسخة سطح المكتب تصدير تخزينها عبر الشبكة المحلية. - يزوّد المستورد عنوان IP لجهاز المصدر وكلمة المرور؛ وبعد الاستيراد، تفتح كلمة المرور نفسها التخزين على الجهاز المستورد. - يتجنب التصميم عمدًا المشاركة السحابية. سلوك كلمة المرور - لا توجد إعادة تعيين لكلمة المرور. نسيان كلمة المرور يعني فقدان التخزين؛ وتعتمد جدوى القوة الغاشمة على قوة كلمة المرور. - لا توجد ميزة مخصصة لإعادة إنشاء تخزين؛ ويُقترح حذف ملف قاعدة البيانات أو إعادة تثبيت التطبيق. البناء والتشغيل - بناء Android للتصحيح: ‎./gradlew :composeApp:assembleDebug‎ (أو ‎gradlew.bat‎ على Windows). - تشغيل سطح المكتب: ‎./gradlew :composeApp:run‎ (أو ‎gradlew.bat‎ على Windows). - تُدعم أيضًا إعدادات التشغيل في IDE. ملاحظات التنفيذ - بُنيت بنية الواجهة/الحالة حول مكتبة Decompose، التي ينسب إليها المؤلف الفضل في جعل التعامل مع الحالة مباشرًا. - يذكر المؤلف أن مساعدي الذكاء الاصطناعي أثّروا في أجزاء من التنفيذ، وأن Kotlin Multiplatform كان له منحنى تعلّم حاد مقارنةً بـ Flutter وReact. المساهمات مرحّب بها عبر issues أو pull requests.