تفاصيل العمل

تطبيق ويب لمشغل موسيقى مع تكامل Deezer ونظام استرجاع كلمة مرور آمن

قمت مؤخرًا بتطوير تطبيق ويب متكامل لمشغل موسيقى يجمع بين واجهة مستخدم أنيقة، تفاعل وسائط متقدم، مصادقة آمنة، وإدارة للأغاني في الوقت الفعلي. المشروع تم بناؤه بالكامل باستخدام HTML، CSS، Bootstrap، JavaScript، مع الاعتماد على التخزين المحلي والتخزين المؤقت للجلسة، إضافة إلى التكامل مع واجهة برمجة تطبيقات Deezer للحصول على محتوى موسيقي حي.

أهم الميزات

مشغل موسيقى تفاعلي

يحتوي التطبيق على مشغل صوت مخصص يمكن من خلاله تشغيل وإيقاف الموسيقى، الانتقال للأغنية التالية أو السابقة، شريط تقدم يعرض الوقت الحالي والوقت الإجمالي للأغنية، التحكم في مستوى الصوت، عرض قائمة تشغيل مبنية على التصنيفات والبحث، وحفظ الأغنية الحالية وموضع التشغيل حتى يتمكن المستخدم من المتابعة من حيث توقف.

فلترة وبحث ذكي

يوفر التطبيق إمكانية فلترة الأغاني حسب الفئة مثل الرومانسي، الشعبي والمهرجانات، مع إمكانية البحث المباشر عن الأغاني من خلال مطابقة العنوان، مع تمييز الأغنية المشغلة حاليًا في قائمة التشغيل.

تكامل مع Deezer API

يعتمد التطبيق على واجهة برمجة التطبيقات الخاصة بـ Deezer لجلب بيانات الأغاني مثل العنوان والفنان والملف الصوتي مباشرة بشكل ديناميكي. كما يتعامل مع الطلبات غير المتزامنة ويعرض المحتوى في الوقت الفعلي، مع تحسين بنية المشروع للفصل بين البيانات والكود الثابت.

نظام استرجاع كلمة مرور آمن

يوفر التطبيق تدفق كامل لاسترجاع كلمة المرور يبدأ بإدخال البريد الإلكتروني أو اسم المستخدم، ثم الإجابة على سؤال أمني مخصص، وأخيرًا إعادة التوجيه لشاشة إعادة تعيين كلمة المرور. يتم تجزئة كلمات المرور باستخدام SHA-256 مع إضافة salt قبل تخزينها في localStorage، ويتم استخدام sessionStorage لحفظ حالة الاسترجاع بشكل مؤقت وآمن.

إظهار وإخفاء كلمة المرور

يتيح التطبيق للمستخدمين إمكانية التبديل بين إظهار وإخفاء كلمة المرور عند إدخالها، لتسهيل عملية التحقق أثناء الكتابة.

واجهة متجاوبة وتجربة مستخدم سلسة

تم تصميم التطبيق ليعمل بسلاسة على مختلف الأجهزة والشاشات باستخدام media queries، مع الاعتماد على تأثيرات لونية وانتقالات سلسة وتحسينات بصرية لزيادة جاذبية تجربة المستخدم.

التقنيات والمفاهيم المستخدمة

HTML5 وCSS3

JavaScript (ES6)

التحكم في عنصر الصوت باستخدام Audio API

التخزين المحلي والتخزين المؤقت للجلسة

تجزئة كلمات المرور باستخدام خوارزمية SHA-256

التكامل مع Deezer API للحصول على البيانات الحية

SweetAlert2 لعرض التنبيهات

media queries لتوفير تصميم متجاوب

ما تعلمته

من خلال هذا المشروع اكتسبت خبرة عملية في إدارة جلسات المستخدم وتأمين كلمات المرور داخل المتصفح، والعمل مع واجهات برمجة تطبيقات خارجية ودمج البيانات الحية، بالإضافة إلى تحسين تجربة المستخدم عبر البحث، الفلترة، والحفاظ على الحالة بين الجلسات، إلى جانب تصميم واجهة حديثة ومتجاوبة بالكامل من البداية.

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
تاريخ الإضافة
تاريخ الإنجاز
المهارات