عن المشروع
PlaylistPillar هو محرك فهرسة موسيقية ذاتي الاستضافة يُوزَّع كتطبيق قائم على Docker. هدفه المعلن هو تحويل قوائم التشغيل من منصات البث إلى أرشيفات محلية دائمة وقابلة للتصفح، مع الحفاظ على سياق قائمة التشغيل بدلاً من التعامل مع المقاطع كملفات قابلة للإهمال.
النهج الأساسي
- الأرشفة القائمة على البيانات الوصفية أولاً: تُوصَف الصادرات بأنها تتضمن وسوم ID3 مضمّنة، وأغلفة الألبومات (JPEG/PNG)، ومعلومات سنة الإصدار، مع إحالات مرجعية متقاطعة إلى قواعد بيانات التسجيلات العامة مثل MusicBrainz وDiscogs.
- الحفاظ على البنية: يُحتفَظ بالترتيب الأصلي لقائمة التشغيل وبيانات المقاطع الفنية والأعمال الفنية، بحيث تُظهر النسخة المحلية الغلاف والفنان والألبوم ورقم المقطع حتى لو اختفى المقطع لاحقاً من خدمة البث.
- محرك فروقات قوائم التشغيل: يمكن إعادة فحص قائمة تشغيل مؤرشفة سابقاً لمعرفة المقاطع التي حُذفت أو أُضيفت أو تغيّرت منذ آخر تصدير.
النشر والواجهة
- أصلي في Docker: يعمل في أي بيئة Docker عبر إعداد compose.yaml واحد، دون وصف أي تبعيات على مستوى النظام.
- لوحة تحكم ويب متجاوبة: إدارة الأرشيفات، وعرض استخدام التخزين، وتصفح قوائم التشغيل المستوردة من أي جهاز.
- واجهة متعددة اللغات: تُدرَج لوحة التحكم وسجلات التصدير كمُتاحة بالإنجليزية والإسبانية والفرنسية والألمانية واليابانية والبرتغالية.
- عامل خلفي: تُعالَج قوائم التشغيل في قائمة الانتظار مع تحديد المعدل وإعادة المحاولات وتتبع التقدم دون حجب جلسة المتصفح.
تفاصيل التصدير والتخزين
- صيغ التصدير: مجلدات منظمة (Artist / Album / Track.mp3) أو حزمة .pillar مضغوطة واحدة ببيانات وصفية مضمّنة.
- تقديرات التخزين الواردة في README: نحو 80-120 ميغابايت لكل ساعة موسيقى بجودة 320 kbps، إضافة إلى 1-3 ميغابايت لكل ألبوم للأعمال الفنية؛ قائمة تشغيل من 50 أغنية تستهلك عادةً 300-450 ميغابايت.
- ملاحظات تقنية: طابور طلبات بنظام دلو الرموز (token-bucket)، وSQLite افتراضياً مع PostgreSQL اختياري، وأغلفة الألبومات تُضغط إلى WebP مع بديل PNG، ومجاميع تحقق SHA-256 تُسجَّل في بيان جانبي للتحقق من السلامة.
البدء
1. تهيئة البيئة: توفير رمز API اختياري لمنصة البث لتسريع إثراء البيانات الوصفية، وضبط وحدة التخزين في compose.yaml.
2. تشغيل لوحة التحكم، ثم لصق رابط قائمة تشغيل أو رفع ملف .txt يحتوي على روابط.
3. يعالج النظام المقاطع في الخلفية، مع الحفاظ على الأعمال الفنية والبيانات الوصفية، ويُشعِر عبر لوحة التحكم عند جاهزية الأرشيف.
بنية المستودع
يصف README واجهة خلفية (Python، Flask + Celery) مع عمال ونماذج ومُثرٍ للبيانات الوصفية؛ وواجهة أمامية بـ Vue.js مع مكوّنات وملفات لغات؛ وملفات Docker؛ ووثائق؛ واختبارات؛ ورخصة MIT.
تشمل عناصر خارطة الطريق المذكورة لعام 2026 معالجات استيراد دفعية، ووسماً بالذكاء الاصطناعي دون اتصال لاقتراحات النوع والمزاج، ومرآة أسبوعية تلقائية لقوائم التشغيل، وتطبيقاً مرافقاً للهواتف المحمولة.
الدعم والامتثال
يعلن README عن وحدة تشخيص تُنشئ لقطة جاهزة للدعم تتضمن الإعدادات والسجلات وصحة الحاويات وحالة الشبكة، مع زمن استجابة نموذجي معلن أقل من ساعتين ودردشة مباشرة خلال ساعات العمل. كما ينص على أن رموز API مشفّرة عند التخزين بـ AES-256 ولا تُسجَّل أبداً، وأن عمليات البحث المجهولة في البيانات الوصفية العامة خيار متاح. ويشير إخلاء مسؤولية إلى أن المشروع مخصص للاستخدام الأرشيفي الشخصي ولا يتجاوز القيود الجغرافية أو إدارة الحقوق الرقمية أو مستويات الاشتراك، مع مسؤولية المستخدمين عن الامتثال لشروط خدمة المنصات المدمجة.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.