تخطَّ إلى المحتوى
ProfessionalPDF ManagementInstitution

مكتبتي

منصة مكتبة رقمية متكاملة مصممة للباحثين والمؤسسات، تقدم إمكانيات سلسة لاستعراض وإدارة المستندات بصيغة PDF.

النوع
Professional

نظرة عامة

بُني تطبيق «مكتبتي» داخليًا في «كيه لتقنية المعلومات» كمنتج مكتبة رقمية للباحثين الذين يحتاجون وصولًا مباشرًا إلى أرشيفات مُدارة. وهو مدير مستندات يعمل دون اتصال، مصمَّم لإبقاء استهلاك الذاكرة منخفضًا حتى في جلسات قراءة PDF الطويلة.

التحدي

تتعثّر أغلب تطبيقات عرض الأرشيف عند فتح ملفات PDF مؤسسية ضخمة عالية الدقة، إذ يصعب على إدارة الذاكرة في أندرويد تخزين هذا الكمّ من الصفحات النقطية دون استثناءات نفاد الذاكرة (OOM).

وكان المطلوب أيضًا معمارية تتيح للفرق الداخلية العمل بالتوازي على أجزاء منفصلة (المصادقة، محرّك الـ PDF، مدير التنزيلات) دون تضارب مستمر في دمج الكود.

القرارات المعمارية والتقنية

كان الحل معمارية نظيفة متعددة الوحدات صارمة، بحدود واضحة بين المكوّنات.

التقسيم إلى وحدات

  • عزل الميزات: كل ميزة (المصادقة، المكتبة، العارض، الإعدادات) وحدة مستقلة تعتمد على الطبقتين الأساسيتين core-domain و core-data، فيُمنع الاعتماد الدائري ويقلّ زمن البناء التراكمي كثيرًا.
  • إدارة الذاكرة: يرسم محرّك Barteksc PDF Viewer الصفحات بتحميل كسول، ويتولّى WorkManager التخزين المؤقت في الخلفية، فلا يتعطّل خيط التمرير في Compose بسبب تهيئة البيانات.
  • موثوقية التنزيل: يعمل DownloadX مع Room، فتستأنف مزامنة المكتبات الكبيرة (أكثر من ١٠ جيجابايت) بعد الانقطاع وتُحفَظ في تخزين مشفّر داخل المجلّد الخاص بالتطبيق.

أثر التطوير

أبقى الفصل بين الوحدات تقارير LeakCanary نظيفة، وأتاح لفريق الجودة اختبار مسارات المنطق دون تشغيل الواجهة، وسهّل نشر الميزات كوحدات تسليم ديناميكية عبر Google Play Console.

الأثر والنتائج

  • لا مزيد من تعطّلات نفاد الذاكرة على ملفات PDF مؤسسية ضخمة، مع تمرير ثابت عند ٦٠ إطارًا/ث.
  • عملت فرق المصادقة والعارض والتنزيلات بالتوازي بعد ضبط حدود الوحدات.
  • مزامنة مكتبات قابلة للاستئناف تتجاوز ١٠ جيجابايت في الخلفية، مع تخزين مشفّر.

التقنيات المستخدمة

Language Kotlin
UI Framework Jetpack Compose
DI Framework Koin
Networking Ktor Client
Persistence Room DB
PDF Engine Barteksc & Afreakelf
Downloader DownloadX