يور لاست إف إم
تطبيق Node.js يعمل في حاوية (container) يقوم بمزامنة الاستماعات من Last.fm، ويخزنها في قاعدة بيانات SQLite محلية، ويوفر لوحة تحكم ويب.
المشروع
Your LastFM هو تطبيق Node.js مصمم لـ مزامنة سجلات الاستماع الموسيقي تلقائيًا من Last.fm. يحفظ سجل الاستماع الخاص بك في قاعدة بيانات SQLite محلية ويقدم واجهة ويب لعرض البيانات بصريًا.
المشروع محاط بالكامل بحاويات باستخدام Docker، مع نقطة دخول تلقائية للتعامل مع تهيئة قاعدة البيانات والتنفيذ المتسلسل (المزامنة أولاً ثم إطلاق واجهة برمجة تطبيقات الويب). كما يستخدم PM2 كمدير عمليات داخل الحاوية لضمان بقاء خدمة الويب نشطة ومرنة.
الميزات
لوحة تحكم ويب تفاعلية
- واجهة ويب نظيفة وحديثة لعرض نشاطك الموسيقي.
مزامنة تلقائية لسجلات Last.fm
- يسترجع ويخزن سجل الاستماع الخاص بك (scrobbles) من Last.fm بشكل دوري.
- يضمن أن بياناتك محدثة دائمًا دون تدخل يدوي.
قاعدة بيانات محلية لسجل الموسيقى
- يحفظ جميع سجلات الاستماع في قاعدة بيانات SQLite محلية.
- يسمح باستعلامات سريعة والوصول دون اتصال إلى بيانات الاستماع التاريخية.
عرض سجلات الاستماع الأخيرة
- يعرض أحدث المقاطع الموسيقية التي استمعت إليها.
- منطق ذكي لاستبدال الصور للمقاطع والألبومات والفنانين.
مقارنة الأصدقاء (عرض التوافق)
- قارن ذوقك الموسيقي مع أصدقاء Last.fm.
- يعرض مستوى التوافق (من منخفض جدًا → فائق).
- يعرض الفنانين والألبومات والمقاطع المشتركة في القمة.
- يحسب ويطبع مستوى التوافق بناءً على بيانات الاستماع الفعلية.
بطاقات موسيقية قابلة للمشاركة
- يولد صور ديناميكية بناءً على بيانات الاستماع الخاصة بك.
- تصاميم محسنة لنشر التغذية وقصص انستغرام (9:16)
- تم البناء باستخدام node-canvas لتصيير الصور على جانب الخادم.
المتطلبات الأساسية
التثبيت
إنشاء ملف .env
LASTFM_API_KEY=your_lastfm_api_key
LASTFM_USERNAME=your_lastfm_usernameLast.fm: أنشئ حساب API هنا للحصول على مفتاح API الخاص بك.
Docker Compose
services:
your-lastfm:
image: gomaink/your-lastfm
container_name: your-lastfm
ports:
- "1533:1533"
env_file:
- .env
volumes:
- ./data:/app/data
restart: unless-stoppedعلى الطرفية:
docker compose up -d
ثم قم بالوصول إلى:
http://localhost:1533(أو استبدل localhost بعنوان IP الخاص بخادمك)
الترخيص
هذا المشروع مرخص بموجب رخصة MIT.
--- Tranlated By Open Ai Tx | Last indexed: 2026-03-27 ---