تخطي إلى المحتوى
العودة إلى الأعمال

مشروع Backend API للأفلام

واجهة Express API للأفلام مع مصادقة وأفلام ومراجعات وقوائم مشاهدة وتحقق ومسارات مدعومة بقاعدة بيانات.

عارض صور المشروع

واجهة برمجة تطبيقات للأفلام

صورة 1 من 3

فكرة المشروع

واجهة برمجية (API) لكتالوج أفلام — تسجيل ودخول، كتالوج أفلام للقراءة العامة والتعديل بصلاحية مدير فقط، تقييمات وتعليقات لكل فيلم، وقوائم مشاهدة شخصية. مفيش واجهة أمامية تقليدية — الاستكشاف البصري بيتم عبر Swagger UI مدمجة.

ما الذي تعرضه الواجهة

نظرة عامة على مستكشف الـAPI (Swagger) بكل المجموعات (المصادقة، الأفلام، التقييمات، قوائم المشاهدة)، نقطة تسجيل موسّعة، وطلب تسجيل حقيقي مُنفَّذ مع الرد الفعلي من الخادم.

دوري وقراراتي

أول اكتشاف مهم كان ملف movies.sqlite متتبَّع في الريبو وفيه هاشات كلمات مرور حقيقية — مش بيانات وهمية. عالجته بنفس منهج تطهير التاريخ بالكامل. القرار التاني كان بخصوص توثيق الـAPI: بدل ما أكتب مواصفات OpenAPI منفصلة يدويًا (واللي غالبًا هتتقادم مع الوقت)، ولّدتها من annotations حقيقية فوق كل route مباشرة في الكود، فالتوثيق مستحيل يتباعد عن الواقع. كمان اضطريت أغيّر صورة القاعدة (base image) من Debian العادية لـTrixie لما اكتشفت إن مكتبة SQLite الأصلية (native) محتاجة إصدار glibc أحدث، وده كان أسرع بكتير من تجميع المكتبة من المصدر لكل معمارية على حدة.

الجوانب التقنية

Express + Sequelize + SQLite (مضمّنة داخل نفس الحاوية، بدون خادم قاعدة بيانات منفصل)، مصادقة JWT بـbcrypt أصلية، وصلاحيات إدارية منفصلة عن العلم البسيط اللي العميل ممكن يتلاعب فيه.

قيمة المشروع داخل المعرض

بيوضح التعامل الصحيح مع بيانات حساسة مسرّبة، وقرار توثيق API مستدام (مولَّد من الكود، مش منفصل عنه)، وحل مشكلة توافق معماريات نادرة.

عرض أعمال أكثر
عرض خدمات أكثر